|
|
|
@ -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) {
|
|
|
|
|