You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@knox.apache.org by bo...@apache.org on 2026/08/05 17:30:34 UTC
(knox) 05/49: KNOX-3238: correcting AccessHandler and JWTValidatorFactory
This is an automated email from the ASF dual-hosted git repository.
bonampak pushed a commit to branch feature/jakarta-jetty-upgrade
in repository https://gitbox.apache.org/repos/asf/knox.git
commit 26aef473bc8276e203a05e17c3b5a0a74aca05b7
Author: bonampak <bo...@apache.org>
AuthorDate: Thu Mar 12 15:08:44 2026 +0100
KNOX-3238: correcting AccessHandler and JWTValidatorFactory
---
.../apache/knox/gateway/trace/AccessHandler.java | 29 ++++++++++++----------
.../gateway/websockets/JWTValidatorFactory.java | 6 ++---
2 files changed, 19 insertions(+), 16 deletions(-)
diff --git a/gateway-server/src/main/java/org/apache/knox/gateway/trace/AccessHandler.java b/gateway-server/src/main/java/org/apache/knox/gateway/trace/AccessHandler.java
index c21e5eb8a..47aa5c056 100644
--- a/gateway-server/src/main/java/org/apache/knox/gateway/trace/AccessHandler.java
+++ b/gateway-server/src/main/java/org/apache/knox/gateway/trace/AccessHandler.java
@@ -24,6 +24,8 @@ import org.eclipse.jetty.server.RequestLog;
import org.eclipse.jetty.server.Response;
import org.eclipse.jetty.util.component.AbstractLifeCycle;
+import java.util.concurrent.TimeUnit;
+
public class AccessHandler extends AbstractLifeCycle implements RequestLog {
private static final Logger log = LogManager.getLogger( "org.apache.knox.gateway.access" );
@@ -32,20 +34,21 @@ public class AccessHandler extends AbstractLifeCycle implements RequestLog {
if( log.isTraceEnabled() ) {
StringBuilder sb = new StringBuilder();
TraceUtil.appendCorrelationContext(sb);
+ long durationMillis = TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - request.getBeginNanoTime());
sb.append('|')
- .append(request.getRemoteAddr())
- .append('|')
- .append(request.getMethod())
- .append('|')
- .append(request.getHttpURI())
- .append('|')
- .append(request.getContentLength())
- .append('|')
- .append(response.getStatus())
- .append('|')
- .append(response.getContentCount())
- .append('|')
- .append(System.currentTimeMillis() - request.getTimeStamp());
+ .append(Request.getRemoteAddr(request)) // Static helper or request.getConnectionMetaData().getRemoteSocketAddress()
+ .append('|')
+ .append(request.getMethod())
+ .append('|')
+ .append(request.getHttpURI().toString())
+ .append('|')
+ .append(request.getLength()) // .getContentLength() is now .getLength()
+ .append('|')
+ .append(response.getStatus())
+ .append('|')
+ .append(Response.getContentBytesWritten(response)) // Use static helper for bytes written
+ .append('|')
+ .append(durationMillis);
log.trace(sb);
}
}
diff --git a/gateway-server/src/main/java/org/apache/knox/gateway/websockets/JWTValidatorFactory.java b/gateway-server/src/main/java/org/apache/knox/gateway/websockets/JWTValidatorFactory.java
index eb33efca9..bf9740882 100644
--- a/gateway-server/src/main/java/org/apache/knox/gateway/websockets/JWTValidatorFactory.java
+++ b/gateway-server/src/main/java/org/apache/knox/gateway/websockets/JWTValidatorFactory.java
@@ -30,7 +30,7 @@ import org.apache.knox.gateway.services.topology.TopologyService;
import org.apache.knox.gateway.topology.Service;
import org.apache.knox.gateway.topology.Topology;
import org.apache.knox.gateway.util.CertificateUtils;
-import org.eclipse.jetty.websocket.servlet.ServletUpgradeRequest;
+import org.eclipse.jetty.ee10.websocket.server.JettyServerUpgradeRequest;
import jakarta.servlet.ServletException;
import java.net.HttpCookie;
import java.security.interfaces.RSAPublicKey;
@@ -47,7 +47,7 @@ public class JWTValidatorFactory {
public static final String SSO_VERIFICATION_PEM = "sso.token.verification.pem";
private static final JWTMessages jwtMessagesLog = MessagesFactory.get(JWTMessages.class);
- public static JWTValidator create(ServletUpgradeRequest req, GatewayServices gatewayServices,
+ public static JWTValidator create(JettyServerUpgradeRequest req, GatewayServices gatewayServices,
GatewayConfig gatewayConfig){
Map<String,String> params = getParams(gatewayServices);
String cookieName = params.containsKey(KNOXSSO_COOKIE_NAME)? params.get(KNOXSSO_COOKIE_NAME):DEFAULT_SSO_COOKIE_NAME;
@@ -97,7 +97,7 @@ public class JWTValidatorFactory {
return params;
}
- private static JWT extractToken(ServletUpgradeRequest req, String cookieName){
+ private static JWT extractToken(JettyServerUpgradeRequest req, String cookieName){
List<HttpCookie> ssoCookies = req.getCookies();
if (ssoCookies != null){
for (HttpCookie ssoCookie : ssoCookies) {