forked from mirror/gin
Merge branch 'fix' of https://github.com/donnpebe/gin into donnpebe-fix
This commit is contained in:
commit
558d6b582f
|
@ -8,6 +8,7 @@ import (
|
||||||
"errors"
|
"errors"
|
||||||
"io"
|
"io"
|
||||||
"math"
|
"math"
|
||||||
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
@ -291,7 +292,10 @@ func (c *Context) ClientIP() string {
|
||||||
return clientIP
|
return clientIP
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return strings.TrimSpace(c.Request.RemoteAddr)
|
if ip, _, err := net.SplitHostPort(strings.TrimSpace(c.Request.RemoteAddr)); err == nil {
|
||||||
|
return ip
|
||||||
|
}
|
||||||
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
// ContentType returns the Content-Type header of the request.
|
// ContentType returns the Content-Type header of the request.
|
||||||
|
|
|
@ -520,7 +520,7 @@ func TestContextClientIP(t *testing.T) {
|
||||||
|
|
||||||
c.Request.Header.Set("X-Real-IP", " 10.10.10.10 ")
|
c.Request.Header.Set("X-Real-IP", " 10.10.10.10 ")
|
||||||
c.Request.Header.Set("X-Forwarded-For", " 20.20.20.20, 30.30.30.30")
|
c.Request.Header.Set("X-Forwarded-For", " 20.20.20.20, 30.30.30.30")
|
||||||
c.Request.RemoteAddr = " 40.40.40.40 "
|
c.Request.RemoteAddr = " 40.40.40.40:42123 "
|
||||||
|
|
||||||
assert.Equal(t, c.ClientIP(), "10.10.10.10")
|
assert.Equal(t, c.ClientIP(), "10.10.10.10")
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue