diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-01-22 16:24:37 +0100 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2021-01-22 16:26:57 +0100 |
commit | 82588c22811f329c75700c01d541a2ff9bccf6e8 (patch) | |
tree | 090ea0f19ae297cf8230c2c3486a11f839565c49 /jdisc_http_service | |
parent | 7338098f5bc938b89b1c9ed3c0e4a897f0561c3d (diff) |
Default to request's localport if connector is already closed
Diffstat (limited to 'jdisc_http_service')
-rw-r--r-- | jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/AccessLogRequestLog.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/AccessLogRequestLog.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/AccessLogRequestLog.java index 03ab06b9be1..b38b9dcdfb2 100644 --- a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/AccessLogRequestLog.java +++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/server/jetty/AccessLogRequestLog.java @@ -60,7 +60,7 @@ class AccessLogRequestLog extends AbstractLifeCycle implements org.eclipse.jetty long endTime = System.currentTimeMillis(); builder.peerAddress(peerAddress) .peerPort(peerPort) - .localPort(getConnectorLocalPort(request)) + .localPort(getLocalPort(request)) .timestamp(Instant.ofEpochMilli(startTime)) .duration(Duration.ofMillis(Math.max(0, endTime - startTime))) .contentSize(response.getHttpChannel().getBytesWritten()) @@ -138,6 +138,12 @@ class AccessLogRequestLog extends AbstractLifeCycle implements org.eclipse.jetty return request.getRemotePort(); } + private static int getLocalPort(Request request) { + int connectorLocalPort = getConnectorLocalPort(request); + if (connectorLocalPort <= 0) return request.getLocalPort(); // If connector is already closed + return connectorLocalPort; + } + private static OptionalInt parsePort(String port) { try { return OptionalInt.of(Integer.parseInt(port)); |