summaryrefslogtreecommitdiffstats
path: root/container-core/src/main/java/com/yahoo/jdisc/http
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@yahooinc.com>2023-04-27 13:28:47 +0200
committerBjørn Christian Seime <bjorncs@yahooinc.com>2023-04-27 13:57:02 +0200
commitc688e62a1fa657aede46ebbd51bcdb4433aa2cb6 (patch)
tree1706fbac2f0c5d694831622ab5e2d05a6021f19a /container-core/src/main/java/com/yahoo/jdisc/http
parent139646116e78288ee7c53f92a17802e7e329e6c0 (diff)
Use timestamp from Jetty as creation time for Request/HttpRequest
Diffstat (limited to 'container-core/src/main/java/com/yahoo/jdisc/http')
-rw-r--r--container-core/src/main/java/com/yahoo/jdisc/http/HttpRequest.java10
-rw-r--r--container-core/src/main/java/com/yahoo/jdisc/http/filter/util/FilterTestUtils.java2
-rw-r--r--container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/HttpRequestFactory.java16
3 files changed, 15 insertions, 13 deletions
diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/HttpRequest.java b/container-core/src/main/java/com/yahoo/jdisc/http/HttpRequest.java
index 4ad38a9f965..877140a94d7 100644
--- a/container-core/src/main/java/com/yahoo/jdisc/http/HttpRequest.java
+++ b/container-core/src/main/java/com/yahoo/jdisc/http/HttpRequest.java
@@ -81,9 +81,9 @@ public class HttpRequest extends Request {
private Long connectionTimeout;
protected HttpRequest(CurrentContainer container, URI uri, Method method, Version version,
- SocketAddress remoteAddress, Long connectedAtMillis)
+ SocketAddress remoteAddress, Long connectedAtMillis, long creationTime)
{
- super(container, uri);
+ super(container, uri, true, creationTime);
try {
this.method = method;
this.version = version;
@@ -313,13 +313,13 @@ public class HttpRequest extends Request {
public static HttpRequest newServerRequest(CurrentContainer container, URI uri, Method method, Version version,
SocketAddress remoteAddress) {
- return new HttpRequest(container, uri, method, version, remoteAddress, null);
+ return new HttpRequest(container, uri, method, version, remoteAddress, null, -1);
}
public static HttpRequest newServerRequest(CurrentContainer container, URI uri, Method method, Version version,
- SocketAddress remoteAddress, long connectedAtMillis)
+ SocketAddress remoteAddress, long connectedAtMillis, long creationTime)
{
- return new HttpRequest(container, uri, method, version, remoteAddress, connectedAtMillis);
+ return new HttpRequest(container, uri, method, version, remoteAddress, connectedAtMillis, creationTime);
}
public static HttpRequest newClientRequest(Request parent, URI uri) {
diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/filter/util/FilterTestUtils.java b/container-core/src/main/java/com/yahoo/jdisc/http/filter/util/FilterTestUtils.java
index 147c13c8e3a..f3ad631f136 100644
--- a/container-core/src/main/java/com/yahoo/jdisc/http/filter/util/FilterTestUtils.java
+++ b/container-core/src/main/java/com/yahoo/jdisc/http/filter/util/FilterTestUtils.java
@@ -76,7 +76,7 @@ public class FilterTestUtils {
public DiscFilterRequest build() {
var httpReq = HttpRequest.newServerRequest(
- new DummyContainer(clock), uri, method, version, remoteAddress, clock.millis());
+ new DummyContainer(clock), uri, method, version, remoteAddress, clock.millis(), clock.millis());
var filterReq = new DiscFilterRequest(httpReq);
filterReq.setUserPrincipal(principal);
attributes.forEach(filterReq::setAttribute);
diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/HttpRequestFactory.java b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/HttpRequestFactory.java
index 1aa12808f71..8c8109fa518 100644
--- a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/HttpRequestFactory.java
+++ b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/HttpRequestFactory.java
@@ -26,19 +26,21 @@ class HttpRequestFactory {
public static HttpRequest newJDiscRequest(CurrentContainer container, HttpServletRequest servletRequest) {
try {
- HttpRequest httpRequest = HttpRequest.newServerRequest(
+ var jettyRequest = (Request) servletRequest;
+ var jdiscHttpReq = HttpRequest.newServerRequest(
container,
getUri(servletRequest),
getMethod(servletRequest),
HttpRequest.Version.fromString(servletRequest.getProtocol()),
new InetSocketAddress(servletRequest.getRemoteAddr(), servletRequest.getRemotePort()),
- getConnection((Request) servletRequest).getCreatedTimeStamp());
- httpRequest.context().put(RequestUtils.JDISC_REQUEST_X509CERT, getCertChain(servletRequest));
- httpRequest.context().put(RequestUtils.JDICS_REQUEST_PORT, servletRequest.getLocalPort());
+ getConnection(jettyRequest).getCreatedTimeStamp(),
+ jettyRequest.getTimeStamp());
+ jdiscHttpReq.context().put(RequestUtils.JDISC_REQUEST_X509CERT, getCertChain(servletRequest));
+ jdiscHttpReq.context().put(RequestUtils.JDICS_REQUEST_PORT, servletRequest.getLocalPort());
SSLSession sslSession = (SSLSession) servletRequest.getAttribute(RequestUtils.JETTY_REQUEST_SSLSESSION);
- httpRequest.context().put(RequestUtils.JDISC_REQUEST_SSLSESSION, sslSession);
- servletRequest.setAttribute(HttpRequest.class.getName(), httpRequest);
- return httpRequest;
+ jdiscHttpReq.context().put(RequestUtils.JDISC_REQUEST_SSLSESSION, sslSession);
+ servletRequest.setAttribute(HttpRequest.class.getName(), jdiscHttpReq);
+ return jdiscHttpReq;
} catch (Utf8Appendable.NotUtf8Exception e) {
throw createBadQueryException(e);
}