You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by gr...@apache.org on 2016/12/03 17:19:09 UTC

flink git commit: [FLINK-5109] [webfrontend] Fix invalid content-encoding

Repository: flink
Updated Branches:
  refs/heads/master e4f802dd5 -> 08e7ba492


[FLINK-5109] [webfrontend] Fix invalid content-encoding

This closes #2898


Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/08e7ba49
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/08e7ba49
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/08e7ba49

Branch: refs/heads/master
Commit: 08e7ba4920b9b44dc15269e4f507d89025209937
Parents: e4f802d
Author: tibor.moger <ti...@smartx.eu>
Authored: Mon Nov 28 16:51:47 2016 +0100
Committer: Greg Hogan <co...@greghogan.com>
Committed: Sat Dec 3 12:07:53 2016 -0500

----------------------------------------------------------------------
 .../runtime/webmonitor/HttpRequestHandler.java  | 37 ++++++++++----------
 .../webmonitor/PipelineErrorHandler.java        |  1 -
 .../webmonitor/RuntimeMonitorHandler.java       |  4 +--
 .../handlers/ConstantTextHandler.java           |  9 +++--
 .../handlers/HandlerRedirectUtils.java          |  2 --
 5 files changed, 23 insertions(+), 30 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/08e7ba49/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/HttpRequestHandler.java
----------------------------------------------------------------------
diff --git a/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/HttpRequestHandler.java b/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/HttpRequestHandler.java
index bbd29fa..703b621 100644
--- a/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/HttpRequestHandler.java
+++ b/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/HttpRequestHandler.java
@@ -66,7 +66,7 @@ import java.util.UUID;
 public class HttpRequestHandler extends SimpleChannelInboundHandler<HttpObject> {
 
 	private static final Charset ENCODING = Charset.forName("UTF-8");
-	
+
 	/** A decoder factory that always stores POST chunks on disk */
 	private static final HttpDataFactory DATA_FACTORY = new DefaultHttpDataFactory(true);
 
@@ -80,7 +80,7 @@ public class HttpRequestHandler extends SimpleChannelInboundHandler<HttpObject>
 	public HttpRequestHandler(File tmpDir) {
 		this.tmpDir = tmpDir;
 	}
-	
+
 	@Override
 	public void channelUnregistered(ChannelHandlerContext ctx) throws Exception {
 		if (currentDecoder != null) {
@@ -94,12 +94,12 @@ public class HttpRequestHandler extends SimpleChannelInboundHandler<HttpObject>
 			if (msg instanceof HttpRequest) {
 				currentRequest = (HttpRequest) msg;
 				currentRequestPath = null;
-				
+
 				if (currentDecoder != null) {
 					currentDecoder.destroy();
 					currentDecoder = null;
 				}
-				
+
 				if (currentRequest.getMethod() == HttpMethod.GET || currentRequest.getMethod() == HttpMethod.DELETE) {
 					// directly delegate to the router
 					ctx.fireChannelRead(currentRequest);
@@ -118,43 +118,43 @@ public class HttpRequestHandler extends SimpleChannelInboundHandler<HttpObject>
 				// received new chunk, give it to the current decoder
 				HttpContent chunk = (HttpContent) msg;
 				currentDecoder.offer(chunk);
-				
+
 				try {
 					while (currentDecoder.hasNext()) {
 						InterfaceHttpData data = currentDecoder.next();
-						
+
 						// IF SOMETHING EVER NEEDS POST PARAMETERS, THIS WILL BE THE PLACE TO HANDLE IT
 						// all fields values will be passed with type Attribute.
-						
+
 						if (data.getHttpDataType() == HttpDataType.FileUpload) {
 							DiskFileUpload file = (DiskFileUpload) data;
 							if (file.isCompleted()) {
 								String name = file.getFilename();
-								
+
 								File target = new File(tmpDir, UUID.randomUUID() + "_" + name);
 								file.renameTo(target);
-								
+
 								QueryStringEncoder encoder = new QueryStringEncoder(currentRequestPath);
 								encoder.addParam("filepath", target.getAbsolutePath());
 								encoder.addParam("filename", name);
-								
+
 								currentRequest.setUri(encoder.toString());
 							}
 						}
-						
+
 						data.release();
 					}
 				}
 				catch (EndOfDataDecoderException ignored) {}
-				
+
 				if (chunk instanceof LastHttpContent) {
 					HttpRequest request = currentRequest;
 					currentRequest = null;
 					currentRequestPath = null;
-					
+
 					currentDecoder.destroy();
 					currentDecoder = null;
-					
+
 					// fire next channel handler
 					ctx.fireChannelRead(request);
 				}
@@ -163,20 +163,19 @@ public class HttpRequestHandler extends SimpleChannelInboundHandler<HttpObject>
 		catch (Throwable t) {
 			currentRequest = null;
 			currentRequestPath = null;
-			
+
 			if (currentDecoder != null) {
 				currentDecoder.destroy();
 				currentDecoder = null;
 			}
-			
+
 			if (ctx.channel().isActive()) {
 				byte[] bytes = ExceptionUtils.stringifyException(t).getBytes(ENCODING);
-				
+
 				DefaultFullHttpResponse response = new DefaultFullHttpResponse(
 					HttpVersion.HTTP_1_1, HttpResponseStatus.INTERNAL_SERVER_ERROR,
 					Unpooled.wrappedBuffer(bytes));
-	
-				response.headers().set(HttpHeaders.Names.CONTENT_ENCODING, "utf-8");
+
 				response.headers().set(HttpHeaders.Names.CONTENT_TYPE, "text/plain");
 				response.headers().set(HttpHeaders.Names.CONTENT_LENGTH, response.content().readableBytes());
 

http://git-wip-us.apache.org/repos/asf/flink/blob/08e7ba49/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/PipelineErrorHandler.java
----------------------------------------------------------------------
diff --git a/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/PipelineErrorHandler.java b/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/PipelineErrorHandler.java
index 23a0ba6..b4788dd 100644
--- a/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/PipelineErrorHandler.java
+++ b/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/PipelineErrorHandler.java
@@ -64,7 +64,6 @@ public class PipelineErrorHandler extends SimpleChannelInboundHandler<Object> {
 						HttpResponseStatus.INTERNAL_SERVER_ERROR, Unpooled.wrappedBuffer(error.getBytes()));
 
 			response.headers().set(HttpHeaders.Names.CONTENT_TYPE, "text/plain");
-			response.headers().set(HttpHeaders.Names.CONTENT_ENCODING, "utf-8");
 			response.headers().set(HttpHeaders.Names.CONTENT_LENGTH, response.content().readableBytes());
 
 			ctx.writeAndFlush(response);

http://git-wip-us.apache.org/repos/asf/flink/blob/08e7ba49/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/RuntimeMonitorHandler.java
----------------------------------------------------------------------
diff --git a/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/RuntimeMonitorHandler.java b/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/RuntimeMonitorHandler.java
index aba4e17..68e1735 100644
--- a/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/RuntimeMonitorHandler.java
+++ b/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/RuntimeMonitorHandler.java
@@ -61,7 +61,7 @@ public class RuntimeMonitorHandler extends RuntimeMonitorHandlerBase {
 	private static final Charset ENCODING = Charset.forName("UTF-8");
 
 	public static final String WEB_MONITOR_ADDRESS_KEY = "web.monitor.address";
-	
+
 	private final RequestHandler handler;
 
 	public RuntimeMonitorHandler(
@@ -102,7 +102,6 @@ public class RuntimeMonitorHandler extends RuntimeMonitorHandlerBase {
 					: Unpooled.wrappedBuffer(e.getMessage().getBytes(ENCODING));
 			response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.NOT_FOUND, message);
 			response.headers().set(HttpHeaders.Names.CONTENT_TYPE, "text/plain");
-			response.headers().set(HttpHeaders.Names.CONTENT_ENCODING, "utf-8");
 			response.headers().set(HttpHeaders.Names.CONTENT_LENGTH, response.content().readableBytes());
 			LOG.debug("Error while handling request", e);
 		}
@@ -111,7 +110,6 @@ public class RuntimeMonitorHandler extends RuntimeMonitorHandlerBase {
 			response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1,
 					HttpResponseStatus.INTERNAL_SERVER_ERROR, Unpooled.wrappedBuffer(bytes));
 			response.headers().set(HttpHeaders.Names.CONTENT_TYPE, "text/plain");
-			response.headers().set(HttpHeaders.Names.CONTENT_ENCODING, "utf-8");
 			response.headers().set(HttpHeaders.Names.CONTENT_LENGTH, response.content().readableBytes());
 
 			LOG.debug("Error while handling request", e);

http://git-wip-us.apache.org/repos/asf/flink/blob/08e7ba49/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/ConstantTextHandler.java
----------------------------------------------------------------------
diff --git a/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/ConstantTextHandler.java b/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/ConstantTextHandler.java
index aedf0c2..127efdb 100644
--- a/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/ConstantTextHandler.java
+++ b/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/ConstantTextHandler.java
@@ -37,9 +37,9 @@ import java.io.UnsupportedEncodingException;
  */
 @ChannelHandler.Sharable
 public class ConstantTextHandler extends SimpleChannelInboundHandler<Routed> {
-	
+
 	private final byte[] encodedText;
-	
+
 	public ConstantTextHandler(String text) {
 		try {
 			this.encodedText = text.getBytes("UTF-8");
@@ -48,16 +48,15 @@ public class ConstantTextHandler extends SimpleChannelInboundHandler<Routed> {
 			throw new RuntimeException(e.getMessage(), e);
 		}
 	}
-	
+
 	@Override
 	protected void channelRead0(ChannelHandlerContext ctx, Routed routed) throws Exception {
 		HttpResponse response = new DefaultFullHttpResponse(
 			HttpVersion.HTTP_1_1, HttpResponseStatus.OK, Unpooled.wrappedBuffer(encodedText));
 
 		response.headers().set(HttpHeaders.Names.CONTENT_LENGTH, encodedText.length);
-		response.headers().set(HttpHeaders.Names.CONTENT_ENCODING, "utf-8");
 		response.headers().set(HttpHeaders.Names.CONTENT_TYPE, "text/plain");
-		
+
 		KeepAliveWrite.flush(ctx, routed.request(), response);
 	}
 }

http://git-wip-us.apache.org/repos/asf/flink/blob/08e7ba49/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/HandlerRedirectUtils.java
----------------------------------------------------------------------
diff --git a/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/HandlerRedirectUtils.java b/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/HandlerRedirectUtils.java
index 21a0f8c..ca61ec1 100644
--- a/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/HandlerRedirectUtils.java
+++ b/flink-runtime-web/src/main/java/org/apache/flink/runtime/webmonitor/handlers/HandlerRedirectUtils.java
@@ -89,7 +89,6 @@ public class HandlerRedirectUtils {
 		HttpResponse redirectResponse = new DefaultFullHttpResponse(
 				HttpVersion.HTTP_1_1, HttpResponseStatus.TEMPORARY_REDIRECT);
 		redirectResponse.headers().set(HttpHeaders.Names.LOCATION, newLocation);
-		redirectResponse.headers().set(HttpHeaders.Names.CONTENT_ENCODING, "utf-8");
 		redirectResponse.headers().set(HttpHeaders.Names.CONTENT_LENGTH, 0);
 
 		return redirectResponse;
@@ -102,7 +101,6 @@ public class HandlerRedirectUtils {
 		HttpResponse unavailableResponse = new DefaultFullHttpResponse(
 				HttpVersion.HTTP_1_1, HttpResponseStatus.SERVICE_UNAVAILABLE, Unpooled.wrappedBuffer(bytes));
 
-		unavailableResponse.headers().set(HttpHeaders.Names.CONTENT_ENCODING, "utf-8");
 		unavailableResponse.headers().set(HttpHeaders.Names.CONTENT_LENGTH, bytes.length);
 		unavailableResponse.headers().set(HttpHeaders.Names.CONTENT_TYPE, MimeTypes.getMimeTypeForExtension("txt"));