request: Add LocalAddr() and LocalPort() (#1907)
These are used in the rewrite plugin, makes sense to have a common place for them. Signed-off-by: Miek Gieben <miek@miek.nl>
This commit is contained in:
parent
2fd31cd3e0
commit
f3afd70021
1 changed files with 14 additions and 4 deletions
|
@ -47,7 +47,7 @@ func (r *Request) IP() string {
|
|||
return ip
|
||||
}
|
||||
|
||||
// Port gets the (remote) Port of the client making the request.
|
||||
// Port gets the (remote) port of the client making the request.
|
||||
func (r *Request) Port() string {
|
||||
_, port, err := net.SplitHostPort(r.W.RemoteAddr().String())
|
||||
if err != nil {
|
||||
|
@ -56,11 +56,21 @@ func (r *Request) Port() string {
|
|||
return port
|
||||
}
|
||||
|
||||
// RemoteAddr returns the net.Addr of the client that sent the current request.
|
||||
func (r *Request) RemoteAddr() string {
|
||||
return r.W.RemoteAddr().String()
|
||||
// LocalPort gets the local port of the server handling the request.
|
||||
func (r *Request) LocalPort() string {
|
||||
_, port, err := net.SplitHostPort(r.W.LocalAddr().String())
|
||||
if err != nil {
|
||||
return "0"
|
||||
}
|
||||
return port
|
||||
}
|
||||
|
||||
// RemoteAddr returns the net.Addr of the client that sent the current request.
|
||||
func (r *Request) RemoteAddr() string { return r.W.RemoteAddr().String() }
|
||||
|
||||
// LocalAddr returns the net.Addr of the server handling the current request.
|
||||
func (r *Request) LocalAddr() string { return r.W.LocalAddr().String() }
|
||||
|
||||
// Proto gets the protocol used as the transport. This will be udp or tcp.
|
||||
func (r *Request) Proto() string { return Proto(r.W) }
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue