From 53561e338c3843beb70195758ceb4995d7f2da4e Mon Sep 17 00:00:00 2001 From: Igor Milavec Date: Mon, 16 Feb 2026 10:08:49 +0100 Subject: [PATCH 1/2] Log debug info in Browser plugin request handler --- .../BrowserSamlCredentialsProvider.java | 2 +- .../plugin/httpserver/RequestHandler.java | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/amazon/redshift/plugin/BrowserSamlCredentialsProvider.java b/src/main/java/com/amazon/redshift/plugin/BrowserSamlCredentialsProvider.java index fc75e39..c9722c9 100755 --- a/src/main/java/com/amazon/redshift/plugin/BrowserSamlCredentialsProvider.java +++ b/src/main/java/com/amazon/redshift/plugin/BrowserSamlCredentialsProvider.java @@ -164,7 +164,7 @@ public Object apply(List nameValuePairs) return findParameter(SAML_RESPONSE_PARAM_NAME, nameValuePairs); } - }); + }, m_log); Server server = new Server(m_listen_port, requestHandler, Duration.ofSeconds(m_idp_response_timeout), m_log); server.listen(); diff --git a/src/main/java/com/amazon/redshift/plugin/httpserver/RequestHandler.java b/src/main/java/com/amazon/redshift/plugin/httpserver/RequestHandler.java index 0088273..e79e210 100755 --- a/src/main/java/com/amazon/redshift/plugin/httpserver/RequestHandler.java +++ b/src/main/java/com/amazon/redshift/plugin/httpserver/RequestHandler.java @@ -6,6 +6,8 @@ import org.apache.http.protocol.HttpContext; import org.apache.http.protocol.HttpRequestHandler; +import com.amazon.redshift.logger.RedshiftLogger; + import java.io.IOException; import java.util.List; import java.util.function.Function; @@ -61,6 +63,8 @@ public class RequestHandler implements HttpRequestHandler */ private boolean is_valid_result = false; + protected RedshiftLogger m_log; + /** * Constructor. * @@ -73,23 +77,39 @@ public RequestHandler(Function, Object> requestProcessLogic) this.m_validRequestHandler = new ValidHttpRequestHandler(); } + public RequestHandler(Function, Object> requestProcessLogic, RedshiftLogger logger) + { + this(requestProcessLogic); + this.m_log = logger; + } + @Override public void handle(HttpRequest request, HttpResponse response, HttpContext context) throws HttpException, IOException { if (isRequestValid(request)) { + if (m_log != null) m_log.logInfo("Received generic response"); m_result = m_requestProcessLogic.apply( URLEncodedUtils.parse(((BasicHttpEntityEnclosingRequest) request).getEntity())); is_valid_result = true; m_validRequestHandler.handle(request, response, context); } else if (isIdcRequestValid(request)) { + if (m_log != null) m_log.logInfo("Received IdC response"); String query = extractQuery(request.toString()); m_result = m_requestProcessLogic.apply( URLEncodedUtils.parse(query, java.nio.charset.StandardCharsets.UTF_8)); is_valid_result = true; m_validRequestHandler.handle(request, response, context); } else { + if (m_log != null) + { + m_log.logError("Received unknown HTTP request"); + m_log.logInfo("{0}", request.getRequestLine()); + for (Header header : request.getAllHeaders()) { + m_log.logInfo(header.getName() + ":" + header.getValue()); + } + } is_valid_result = false; m_invalidRequestHandler.handle(request, response, context); } From 02f1acb90e7e27f6debd30fda14f3d1bbb994a57 Mon Sep 17 00:00:00 2001 From: Igor Milavec Date: Mon, 16 Feb 2026 10:21:00 +0100 Subject: [PATCH 2/2] Log debug info in Browser plugin request handler --- .../com/amazon/redshift/plugin/httpserver/RequestHandler.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/amazon/redshift/plugin/httpserver/RequestHandler.java b/src/main/java/com/amazon/redshift/plugin/httpserver/RequestHandler.java index e79e210..a4493a2 100755 --- a/src/main/java/com/amazon/redshift/plugin/httpserver/RequestHandler.java +++ b/src/main/java/com/amazon/redshift/plugin/httpserver/RequestHandler.java @@ -107,7 +107,7 @@ public void handle(HttpRequest request, HttpResponse response, HttpContext conte m_log.logError("Received unknown HTTP request"); m_log.logInfo("{0}", request.getRequestLine()); for (Header header : request.getAllHeaders()) { - m_log.logInfo(header.getName() + ":" + header.getValue()); + m_log.logInfo(header.getName() + ": " + header.getValue()); } } is_valid_result = false;