diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/RouteAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/RouteAction.java index 8ea8b858..70f085c3 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/RouteAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/RouteAction.java @@ -40,7 +40,7 @@ public class RouteAction extends Action { if (request.getNettyRequest() instanceof FullHttpRequest) { response.setContentType("application/octet-stream"); - FullHttpRequest fullHttpRequest = (FullHttpRequest)request.getNettyRequest(); + FullHttpRequest fullHttpRequest = (FullHttpRequest) request.getNettyRequest(); boolean b = false; if ("web".equalsIgnoreCase(fullHttpRequest.headers().get("p"))) { b = true; @@ -144,10 +144,14 @@ public class RouteAction extends Action { private void sendResponse(Response response, ErrorCode errorCode, byte[] contents, boolean base64Response) { response.setStatus(HttpResponseStatus.OK); - if(contents == null) { + if (contents == null) { ByteBuf ackPayload = Unpooled.buffer(); ackPayload.ensureWritable(1).writeByte(errorCode.getCode()); - response.setContent(ackPayload); + contents = ackPayload.array(); + } + if (base64Response) { + byte[] base64Data = Base64.getEncoder().encode(contents); + response.setContent(base64Data); } else { response.setContent(contents); }