Pre Merge pull request !64 from enroy/master

pull/64/MERGE
enroy 11 months ago committed by Gitee
commit 7090c55123
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F

@ -12,6 +12,7 @@ public class ReturnT<T> implements Serializable {
public static final int SUCCESS_CODE = 200;
public static final int FAIL_CODE = 500;
public static final int METHOD_NOT_ALLOWED = 405;
public static final ReturnT<String> SUCCESS = new ReturnT<String>(null);
public static final ReturnT<String> FAIL = new ReturnT<String>(FAIL_CODE, null);

@ -156,16 +156,24 @@ public class EmbedServer {
public void run() {
// do invoke
Object responseObj = process(httpMethod, uri, requestData, accessTokenReq);
HttpResponseStatus status = resolveHttpStatus(responseObj);
// to json
String responseJson = GsonTool.toJson(responseObj);
// write response
writeResponse(ctx, keepAlive, responseJson);
writeResponse(ctx, keepAlive, status, responseJson);
}
});
}
private HttpResponseStatus resolveHttpStatus(Object responseObj) {
if (responseObj instanceof ReturnT) {
ReturnT returnT = (ReturnT) responseObj;
return returnT.getCode() == ReturnT.METHOD_NOT_ALLOWED ? HttpResponseStatus.METHOD_NOT_ALLOWED : HttpResponseStatus.OK;
} else {
return HttpResponseStatus.OK;
}
}
private Object process(HttpMethod httpMethod, String uri, String requestData, String accessTokenReq) {
// valid
if (HttpMethod.POST != httpMethod) {
@ -209,9 +217,9 @@ public class EmbedServer {
/**
* write response
*/
private void writeResponse(ChannelHandlerContext ctx, boolean keepAlive, String responseJson) {
private void writeResponse(ChannelHandlerContext ctx, boolean keepAlive, HttpResponseStatus status, String responseJson) {
// write response
FullHttpResponse response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, HttpResponseStatus.OK, Unpooled.copiedBuffer(responseJson, CharsetUtil.UTF_8)); // Unpooled.wrappedBuffer(responseJson)
FullHttpResponse response = new DefaultFullHttpResponse(HttpVersion.HTTP_1_1, status, Unpooled.copiedBuffer(responseJson, CharsetUtil.UTF_8)); // Unpooled.wrappedBuffer(responseJson)
response.headers().set(HttpHeaderNames.CONTENT_TYPE, "text/html;charset=UTF-8"); // HttpHeaderValues.TEXT_PLAIN.toString()
response.headers().set(HttpHeaderNames.CONTENT_LENGTH, response.content().readableBytes());
if (keepAlive) {

Loading…
Cancel
Save