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 <[email protected]>
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) {

Reply via email to