MCPcopy Create free account
hub / github.com/TheThingsNetwork/lorawan-stack / parseForwardedHeaders

Function parseForwardedHeaders

pkg/rpcmiddleware/proxy_headers.go:153–169  ·  view source on GitHub ↗
(h getLastFromMD)

Source from the content-addressed store, hash-verified

151}
152
153func parseForwardedHeaders(h getLastFromMD) (forwardedFor, forwardedScheme, forwardedHost string) {
154 forwardedFor = h.Get(headerXForwardedFor)
155 forwardedScheme = h.Get(headerXForwardedProto)
156 forwardedHost = h.Get(headerXForwardedHost)
157 if forwarded := h.Get(headerForwarded); forwarded != "" {
158 if match := forwardedForRegex.FindStringSubmatch(forwarded); len(match) > 1 {
159 forwardedFor = strings.ToLower(match[1])
160 }
161 if match := forwardedProtoRegex.FindStringSubmatch(forwarded); len(match) > 1 {
162 forwardedScheme = strings.ToLower(match[1])
163 }
164 if match := forwardedHostRegex.FindStringSubmatch(forwarded); len(match) > 1 {
165 forwardedHost = strings.ToLower(match[1])
166 }
167 }
168 return forwardedFor, forwardedScheme, forwardedHost
169}

Callers 1

interceptMethod · 0.70

Calls 1

GetMethod · 0.65

Tested by

no test coverage detected