Bladeren bron

try to get response sanitised and passed back to activator

Grega Bremec 7 maanden geleden
bovenliggende
commit
f56e3fe0c2
1 gewijzigde bestanden met toevoegingen van 19 en 17 verwijderingen
  1. 19 17
      src/main/java/net/p0f/k8s/demo/apiclient/ResponseFilter.java

+ 19 - 17
src/main/java/net/p0f/k8s/demo/apiclient/ResponseFilter.java

@@ -1,26 +1,23 @@
 package net.p0f.k8s.demo.apiclient;
 
-import java.io.BufferedReader;
 import java.io.IOException;
-import java.io.InputStreamReader;
 
 import org.jboss.logging.Logger;
 
 import jakarta.ws.rs.client.ClientRequestContext;
 import jakarta.ws.rs.client.ClientResponseContext;
 import jakarta.ws.rs.client.ClientResponseFilter;
-import jakarta.ws.rs.core.MultivaluedMap;
 
 public class ResponseFilter implements ClientResponseFilter {
     final Logger LOG = Logger.getLogger(ResponseFilter.class.getName());
 
     @Override
     public void filter(ClientRequestContext requestContext, ClientResponseContext responseContext) throws IOException {
-        int status = responseContext.getStatus();
-        MultivaluedMap<String, String> headers = responseContext.getHeaders();
-        StringBuffer body = new StringBuffer();
-        BufferedReader br = new BufferedReader(new InputStreamReader(responseContext.getEntityStream()));
-        br.lines().forEach((l) -> { body.append(l); });
+        // int status = responseContext.getStatus();
+        // MultivaluedMap<String, String> headers = responseContext.getHeaders();
+        // StringBuffer body = new StringBuffer();
+        // BufferedReader br = new BufferedReader(new InputStreamReader(responseContext.getEntityStream()));
+        // br.lines().forEach((l) -> { body.append(l); });
 
         // Log request info first.
         LOG.info("Original request: " + requestContext.getMethod() + " " + requestContext.getUri());
@@ -35,14 +32,19 @@ public class ResponseFilter implements ClientResponseFilter {
             LOG.info("Request payload empty.");
         }
 
-        // Log response next.
-        LOG.info("Got response: HTTP/" + status);
-        LOG.info("Response Headers:");
-        headers.forEach((k, v) -> {
-            LOG.info(k + ": " + v);
-        });
-        LOG.info("Response Body:");
-        LOG.info(body);
-        responseContext.setStatus(200);
+        // // Log response next.
+        // LOG.info("Got response: HTTP/" + status);
+        // LOG.info("Response Headers:");
+        // headers.forEach((k, v) -> {
+        //     LOG.info(k + ": " + v);
+        // });
+        // LOG.info("Response Body:");
+        // LOG.info(body);
+
+        // If status wasn't a happy one, reset it and add a header with the original.
+        if (responseContext.getStatus() > 399) {
+            responseContext.getHeaders().add("X-Original-Status", String.valueOf(responseContext.getStatus()));
+            responseContext.setStatus(304);
+        }
     }
 }