This changes the flow of ipFromRequest to run all remoteIP candidates through net.SplitPortHost (if applicable) regardless of source, instead of treating http.Request.RemoteAddr as the lone special case.
The motivation behind this is that Azure Application Gateways add the X-Forwarded-For header as a comma separated list of IP:port instead of each entry just containing the IP address (ref), making it unnecessarily difficult to deploy echoip as-is to Azure Web App.
This changes the flow of
ipFromRequest
to run allremoteIP
candidates throughnet.SplitPortHost
(if applicable) regardless of source, instead of treatinghttp.Request.RemoteAddr
as the lone special case.The motivation behind this is that Azure Application Gateways add the
X-Forwarded-For
header as a comma separated list ofIP:port
instead of each entry just containing the IP address (ref), making it unnecessarily difficult to deploy echoip as-is to Azure Web App.