解决server API发送消息返回结果为空的问题

This commit is contained in:
heavyrain lee
2019-05-01 23:49:11 +08:00
parent ce16f87e12
commit 025af5eae0
29 changed files with 84 additions and 57 deletions
@@ -36,7 +36,7 @@ import java.util.concurrent.Executor;
public class RouteAction extends Action {
private static final Logger LOG = LoggerFactory.getLogger(RouteAction.class);
@Override
public void action(Request request, Response response) {
public boolean action(Request request, Response response) {
if (request.getNettyRequest() instanceof FullHttpRequest) {
response.setContentType("application/octet-stream");
@@ -55,7 +55,7 @@ public class RouteAction extends Action {
bytes = Base64.getDecoder().decode(str);
} catch (IllegalArgumentException e) {
sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null, base64Response);
return;
return true;
}
String cid = fullHttpRequest.headers().get("cid");
@@ -63,7 +63,7 @@ public class RouteAction extends Action {
cbytes = AES.AESDecrypt(cbytes, "", true);
if (cbytes == null) {
sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null, base64Response);
return;
return true;
}
cid = new String(cbytes);
@@ -72,7 +72,7 @@ public class RouteAction extends Action {
ubytes = AES.AESDecrypt(ubytes, "", true);
if (ubytes == null) {
sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null, base64Response);
return;
return true;
}
uid = new String(ubytes);
@@ -82,7 +82,7 @@ public class RouteAction extends Action {
ErrorCode errorCode = sessionsStore.createNewSession(uid, cid, true);
if (errorCode != ErrorCode.ERROR_CODE_SUCCESS) {
sendResponse(response, errorCode, null, base64Response);
return;
return true;
}
session = sessionsStore.sessionForClientAndUser(uid, cid);
}
@@ -92,13 +92,13 @@ public class RouteAction extends Action {
bytes = AES.AESDecrypt(bytes, session.getSecret(), true);
} else {
sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null, base64Response);
return;
return true;
}
if (bytes == null) {
sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null, base64Response);
return;
return true;
}
@@ -133,11 +133,13 @@ public class RouteAction extends Action {
};
}
}, false);
return false;
}
} catch (InvalidProtocolBufferException e) {
sendResponse(response, ErrorCode.ERROR_CODE_INVALID_DATA, null, false);
}
}
return true;
}
private void sendResponse(Response response, ErrorCode errorCode, byte[] contents, boolean base64Response) {