@@ -22,14 +22,16 @@ public class MessageProcessor implements RejectableRunnable {
22
22
private final FullHttpRequest req ;
23
23
private final String remoteAddress ;
24
24
private final IMessageHandler messageHandler ;
25
+ private final HttpResponseStatus responseStatus ;
25
26
private static final Charset charset = Charset .forName ("UTF-8" );
26
27
27
28
MessageProcessor (ChannelHandlerContext ctx , FullHttpRequest req , String remoteAddress ,
28
- IMessageHandler messageHandler ) {
29
+ IMessageHandler messageHandler , HttpResponseStatus responseStatus ) {
29
30
this .ctx = ctx ;
30
31
this .req = req ;
31
32
this .remoteAddress = remoteAddress ;
32
33
this .messageHandler = messageHandler ;
34
+ this .responseStatus = responseStatus ;
33
35
}
34
36
35
37
public void onRejection () {
@@ -76,19 +78,21 @@ private FullHttpResponse generateFailedResponse(HttpResponseStatus status) {
76
78
77
79
private FullHttpResponse generateResponse (Map <String , String > stringHeaders ) {
78
80
79
- final ByteBuf payload = Unpooled .wrappedBuffer ("ok" .getBytes (charset ));
80
81
final FullHttpResponse response = new DefaultFullHttpResponse (
81
82
req .protocolVersion (),
82
- HttpResponseStatus .OK ,
83
- payload );
84
-
83
+ responseStatus );
85
84
final DefaultHttpHeaders headers = new DefaultHttpHeaders ();
86
85
for (String key : stringHeaders .keySet ()) {
87
86
headers .set (key , stringHeaders .get (key ));
88
87
}
89
88
response .headers ().set (headers );
90
- response .headers ().set (HttpHeaderNames .CONTENT_LENGTH , payload .readableBytes ());
91
- response .headers ().set (HttpHeaderNames .CONTENT_TYPE , "text/plain" );
89
+
90
+ if (responseStatus != HttpResponseStatus .NO_CONTENT ) {
91
+ final ByteBuf payload = Unpooled .wrappedBuffer ("ok" .getBytes (charset ));
92
+ response .headers ().set (HttpHeaderNames .CONTENT_LENGTH , payload .readableBytes ());
93
+ response .headers ().set (HttpHeaderNames .CONTENT_TYPE , "text/plain" );
94
+ response .content ().writeBytes (payload );
95
+ }
92
96
93
97
return response ;
94
98
}
0 commit comments