Ver Fonte

create a response filter to see what comes back from API server

Grega Bremec há 7 meses atrás
pai
commit
2711769b34
1 ficheiros alterados com 29 adições e 0 exclusões
  1. 29 0
      src/main/java/com/redhat/training/ResponseFilter.java

+ 29 - 0
src/main/java/com/redhat/training/ResponseFilter.java

@@ -0,0 +1,29 @@
+package com.redhat.training;
+
+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;
+
+public class ResponseFilter implements ClientResponseFilter {
+    final Logger LOG = Logger.getLogger(ResponseFilter.class.getName());
+
+    @Override
+    public void filter(ClientRequestContext requestContext, ClientResponseContext responseContext) throws IOException {
+        LOG.info("Got invoked: HTTP/" + responseContext.getStatus());
+        LOG.info("Response Headers: ");
+        responseContext.getHeaders().forEach((k, v ) -> {
+            LOG.info(k + ": " + v);
+        });
+        LOG.info("Response Body:");
+        BufferedReader br = new BufferedReader(new InputStreamReader(responseContext.getEntityStream()));
+        br.lines().forEach((l) -> {
+            LOG.info(l);
+        });
+    }
+}