mirror of https://github.com/XTLS/Xray-core
header
parent
83c5370eec
commit
9d91c185a6
|
@ -9,7 +9,7 @@ import (
|
|||
)
|
||||
|
||||
// ParseXForwardedFor parses X-Forwarded-For header in http headers, and return the IP list in it.
|
||||
func ParseXForwardedFor(header http.Header) []net.Address {
|
||||
func parseXForwardedFor(header http.Header) []net.Address {
|
||||
xff := header.Get("X-Forwarded-For")
|
||||
if xff == "" {
|
||||
return nil
|
||||
|
@ -22,6 +22,22 @@ func ParseXForwardedFor(header http.Header) []net.Address {
|
|||
return addrs
|
||||
}
|
||||
|
||||
func parseCFConnectingIP(header http.Header) []net.Address {
|
||||
value := header.Get("CF-Connecting-IP")
|
||||
if value == "" {
|
||||
return nil
|
||||
}
|
||||
return []net.Address{net.ParseAddress(value)}
|
||||
}
|
||||
|
||||
func ParseXForwardedFor(header http.Header) []net.Address {
|
||||
addrs := parseXForwardedFor(header)
|
||||
if len(addrs) == 0 {
|
||||
addrs = parseCFConnectingIP(header)
|
||||
}
|
||||
return addrs
|
||||
}
|
||||
|
||||
// RemoveHopByHopHeaders removes hop by hop headers in http header list.
|
||||
func RemoveHopByHopHeaders(header http.Header) {
|
||||
// Strip hop-by-hop header based on RFC:
|
||||
|
|
Loading…
Reference in New Issue