steveloughran commented on code in PR #7884:
URL: https://github.com/apache/hadoop/pull/7884#discussion_r2284687794
##########
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/web/SimpleHttpProxyHandler.java:
##########
@@ -107,7 +132,16 @@ public void exceptionCaught(ChannelHandlerContext ctx,
Throwable cause) {
@Override
protected void initChannel(SocketChannel ch) throws Exception {
ChannelPipeline p = ch.pipeline();
- p.addLast(new HttpRequestEncoder(), new Forwarder(uri, client));
+ p.addLast(new HttpRequestEncoder());
+ if (isSecure) {
+ // Decode the proxy response and - if it's a redirect - rewrite the
Review Comment:
log here
##########
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/web/SimpleHttpProxyHandler.java:
##########
@@ -95,6 +99,27 @@ public void exceptionCaught(ChannelHandlerContext ctx,
Throwable cause) {
}
}
+ private static class SslRedirectRewriter extends
ChannelInboundHandlerAdapter {
+ private SslRedirectRewriter() { }
+
+ @Override
+ public void channelRead(final ChannelHandlerContext ctx, Object msg) {
Review Comment:
go on, add some vowels.
##########
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/web/SimpleHttpProxyHandler.java:
##########
@@ -95,6 +99,27 @@ public void exceptionCaught(ChannelHandlerContext ctx,
Throwable cause) {
}
}
+ private static class SslRedirectRewriter extends
ChannelInboundHandlerAdapter {
Review Comment:
javadocs, less about what happens but
* why this is needed at all -and include the jira ID.
* how this fits into the process. Specifically, it's processing the response
so must happen in the response phase.
+ make final.
##########
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/web/SimpleHttpProxyHandler.java:
##########
@@ -95,6 +99,27 @@ public void exceptionCaught(ChannelHandlerContext ctx,
Throwable cause) {
}
}
+ private static class SslRedirectRewriter extends
ChannelInboundHandlerAdapter {
+ private SslRedirectRewriter() { }
+
+ @Override
+ public void channelRead(final ChannelHandlerContext ctx, Object msg) {
+ if (!(msg instanceof HttpResponse)) {
+ ctx.fireChannelRead(msg);
+ return;
+ }
+
+ HttpResponse resp = (HttpResponse) msg;
+ String location = resp.headers().get("Location");
Review Comment:
use the constant in io.netty.handler.codec.http.HttpHeaderNames
##########
hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/datanode/web/SimpleHttpProxyHandler.java:
##########
@@ -95,6 +99,27 @@ public void exceptionCaught(ChannelHandlerContext ctx,
Throwable cause) {
}
}
+ private static class SslRedirectRewriter extends
ChannelInboundHandlerAdapter {
+ private SslRedirectRewriter() { }
+
+ @Override
+ public void channelRead(final ChannelHandlerContext ctx, Object msg) {
+ if (!(msg instanceof HttpResponse)) {
+ ctx.fireChannelRead(msg);
+ return;
+ }
+
+ HttpResponse resp = (HttpResponse) msg;
Review Comment:
again, it's OK to have longer variables
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]