diff options
Diffstat (limited to 'jdisc_http_service/src/main/java/com/yahoo/jdisc/http/core/HttpServletRequestUtils.java')
-rw-r--r-- | jdisc_http_service/src/main/java/com/yahoo/jdisc/http/core/HttpServletRequestUtils.java | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/core/HttpServletRequestUtils.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/core/HttpServletRequestUtils.java index 1a559de1f1e..9fda60cfe6b 100644 --- a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/core/HttpServletRequestUtils.java +++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/core/HttpServletRequestUtils.java @@ -2,6 +2,7 @@ package com.yahoo.jdisc.http.core; import org.eclipse.jetty.server.HttpConnection; +import org.eclipse.jetty.server.ServerConnector; import javax.servlet.http.HttpServletRequest; @@ -15,4 +16,13 @@ public class HttpServletRequestUtils { return (HttpConnection)request.getAttribute("org.eclipse.jetty.server.HttpConnection"); } + /** + * Note: {@link HttpServletRequest#getLocalPort()} may return the local port of the load balancer / reverse proxy if proxy-protocol is enabled. + * @return the actual local port of the underlying Jetty connector + */ + public static int getConnectorLocalPort(HttpServletRequest request) { + ServerConnector jettyConnector = (ServerConnector) getConnection(request).getConnector(); + return jettyConnector.getLocalPort(); + } + } |