use strings.Split instead of strings.IndexByte (#1406)

This commit is contained in:
田欧 2018-06-23 00:08:58 +08:00 committed by Bo-Yi Wu
parent 605aa1c30f
commit 8035359102

10
context.go Executable file → Normal file
View File

@ -539,14 +539,10 @@ func (c *Context) ShouldBindBodyWith(
func (c *Context) ClientIP() string {
if c.engine.ForwardedByClientIP {
clientIP := c.requestHeader("X-Forwarded-For")
if index := strings.IndexByte(clientIP, ','); index >= 0 {
clientIP = clientIP[0:index]
}
clientIP = strings.TrimSpace(clientIP)
if clientIP != "" {
return clientIP
}
clientIP = strings.TrimSpace(strings.Split(clientIP, ",")[0])
if clientIP == "" {
clientIP = strings.TrimSpace(c.requestHeader("X-Real-Ip"))
}
if clientIP != "" {
return clientIP
}