diff --git a/src/main/java/com/eactive/testmaster/client/service/HttpRequestLoggerHandler.java b/src/main/java/com/eactive/testmaster/client/service/HttpRequestLoggerHandler.java new file mode 100644 index 0000000..80d7364 --- /dev/null +++ b/src/main/java/com/eactive/testmaster/client/service/HttpRequestLoggerHandler.java @@ -0,0 +1,23 @@ +package com.eactive.testmaster.client.service; + +import io.netty.channel.ChannelHandlerContext; +import io.netty.channel.ChannelOutboundHandlerAdapter; +import io.netty.channel.ChannelPromise; +import io.netty.handler.codec.http.HttpRequest; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +public class HttpRequestLoggerHandler extends ChannelOutboundHandlerAdapter { + + private static final Logger logger = LoggerFactory.getLogger(HttpRequestLoggerHandler.class); + + @Override + public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) throws Exception { + if (msg instanceof HttpRequest) { + HttpRequest request = (HttpRequest) msg; + logger.info("Sending HTTP request: Method: {}, URI: {}, Headers: {}", + request.method(), request.uri(), request.headers()); + } + super.write(ctx, msg, promise); + } +}