summaryrefslogtreecommitdiffstats
path: root/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/core/HttpServletRequestUtils.java
diff options
context:
space:
mode:
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.java10
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();
+ }
+
}