summaryrefslogtreecommitdiffstats
path: root/jdisc_http_service
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2021-01-22 16:24:37 +0100
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2021-01-22 16:26:57 +0100
commit82588c22811f329c75700c01d541a2ff9bccf6e8 (patch)
tree090ea0f19ae297cf8230c2c3486a11f839565c49 /jdisc_http_service
parent7338098f5bc938b89b1c9ed3c0e4a897f0561c3d (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.java8
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));