|
@@ -1,23 +1,26 @@
|
|
|
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); });
|
|
|
|
|
|
|
|
|
LOG.info("Original request: " + requestContext.getMethod() + " " + requestContext.getUri());
|
|
@@ -32,19 +35,19 @@ public class ResponseFilter implements ClientResponseFilter {
|
|
|
LOG.info("Request payload empty.");
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+ 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 (responseContext.getStatus() > 399) {
|
|
|
+ if (responseContext.getStatus() > 299) {
|
|
|
responseContext.getHeaders().add("X-Original-Status", String.valueOf(responseContext.getStatus()));
|
|
|
- responseContext.setStatus(304);
|
|
|
+ responseContext.setStatus(200);
|
|
|
}
|
|
|
}
|
|
|
}
|