diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/Action.java b/broker/src/main/java/com/xiaoleilu/loServer/action/Action.java index 40684609..c91e14d7 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/Action.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/Action.java @@ -39,8 +39,6 @@ abstract public class Action { public ChannelHandlerContext ctx; - protected boolean isSync = true; - public ErrorCode preAction(Request request, Response response) { if (getClass().getAnnotation(RequireAuthentication.class) != null) { //do authentication @@ -50,6 +48,7 @@ abstract public class Action { } public boolean doAction(Request request, Response response) { ErrorCode errorCode = preAction(request, response); + boolean isSync = true; if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { //事务逻辑有缺陷,先注释掉 // if (isTransactionAction() && !(this instanceof IMAction)) { @@ -63,9 +62,8 @@ abstract public class Action { // throw e; // } // } else { - action(request, response); + isSync = action(request, response); // } - afterAction(request, response); } else { response.setStatus(HttpResponseStatus.OK); if (errorCode == null) { @@ -77,19 +75,12 @@ abstract public class Action { response.send(); } - if(this instanceof IMAction || this instanceof RouteAction || this instanceof GetIMTokenAction) { - isSync = false; - } return isSync; } public boolean isTransactionAction() { return false; } - abstract public void action(Request request, Response response); - public void afterAction(Request request, Response response) { - - } - + abstract public boolean action(Request request, Response response); protected T getRequestBody(HttpRequest request, Class cls) { if (request instanceof FullHttpRequest) { diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/DefaultIndexAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/DefaultIndexAction.java index ebee9c6e..3ba2fbfc 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/DefaultIndexAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/DefaultIndexAction.java @@ -12,7 +12,8 @@ import io.moquette.spi.IMessagesStore; */ public class DefaultIndexAction extends Action{ @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { response.setContent("Welcome to LoServer."); + return true; } } diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/FileAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/FileAction.java index e8d9588e..418b337a 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/FileAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/FileAction.java @@ -34,15 +34,15 @@ public class FileAction extends Action { private static final org.slf4j.Logger Logger = LoggerFactory.getLogger(FileAction.class); @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { if (false == Request.METHOD_GET.equalsIgnoreCase(request.getMethod())) { response.sendError(HttpResponseStatus.METHOD_NOT_ALLOWED, "Please use GET method to request file!"); - return; + return true; } if(ServerSetting.isRootAvailable() == false){ response.sendError(HttpResponseStatus.NOT_FOUND, "404 Root dir not avaliable!"); - return; + return true; } final File file = getFileByPath(request.getPath()); @@ -51,13 +51,13 @@ public class FileAction extends Action { // 隐藏文件,跳过 if (file.isHidden() || !file.exists()) { response.sendError(HttpResponseStatus.NOT_FOUND, "404 File not found!"); - return; + return true; } // 非文件,跳过 if (false == file.isFile()) { response.sendError(HttpResponseStatus.FORBIDDEN, "403 Forbidden!"); - return; + return true; } // Cache Validation @@ -76,12 +76,13 @@ public class FileAction extends Action { if (ifModifiedSinceDateSeconds == fileLastModifiedSeconds) { Logger.debug("File {} not modified.", file.getPath()); response.sendNotModified(); - return; + return true; } } } response.setContent(file); + return true; } private static final Pattern INSECURE_URI = Pattern.compile(".*[<>&\"].*"); diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/IMAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/IMAction.java index 18c2ae95..652a78c6 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/IMAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/IMAction.java @@ -35,7 +35,7 @@ import java.util.concurrent.Executor; public class IMAction extends Action { @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { if (request.getNettyRequest() instanceof FullHttpRequest) { FullHttpRequest fullHttpRequest = (FullHttpRequest)request.getNettyRequest(); @@ -46,7 +46,7 @@ public class IMAction extends Action { bytes = Base64.getDecoder().decode(str); } catch (IllegalArgumentException e) { sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null); - return; + return true; } String cid = fullHttpRequest.headers().get("cid"); @@ -54,7 +54,7 @@ public class IMAction extends Action { cbytes = AES.AESDecrypt(cbytes, "", true); if (cbytes == null) { sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null); - return; + return true; } cid = new String(cbytes); @@ -64,13 +64,13 @@ public class IMAction extends Action { bytes = AES.AESDecrypt(bytes, session.getSecret(), true); } else { sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null); - return; + return true; } if (bytes == null) { sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null); - return; + return true; } try { @@ -103,11 +103,13 @@ public class IMAction extends Action { }; } }, false); + return false; } } catch (InvalidProtocolBufferException e) { sendResponse(response, ErrorCode.ERROR_CODE_INVALID_DATA, null); } } + return true; } private void sendResponse(Response response, ErrorCode errorCode, byte[] contents) { diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/NotFoundAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/NotFoundAction.java index 94c240cd..607facf9 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/NotFoundAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/NotFoundAction.java @@ -27,7 +27,8 @@ public class NotFoundAction extends Action{ private final static String TEMPLATE_ERROR = "LoServer - Error report

HTTP Status {} - {}


{}


LoServer

"; @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { response.sendError(HttpResponseStatus.NOT_FOUND, "404 Not found!"); + return true; } } 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 f621095c..e4be716c 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/RouteAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/RouteAction.java @@ -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) { diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/UnknownErrorAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/UnknownErrorAction.java index 9c3b3746..d0eaf109 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/UnknownErrorAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/UnknownErrorAction.java @@ -27,7 +27,8 @@ public class UnknownErrorAction extends Action{ private final static String TEMPLATE_ERROR = "LoServer - Error report

HTTP Status {} - {}


{}


LoServer

"; @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { response.setStatus(HttpResponseStatus.INTERNAL_SERVER_ERROR); + return true; } } diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/UploadFileAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/UploadFileAction.java index 3a977d85..ed9379e1 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/UploadFileAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/UploadFileAction.java @@ -73,7 +73,7 @@ public class UploadFileAction extends Action { } @Override - public void action(Request r, Response response) { + public boolean action(Request r, Response response) { if (r.getNettyRequest() instanceof FullHttpRequest) { FullHttpRequest request = (FullHttpRequest) r.getNettyRequest(); @@ -84,12 +84,13 @@ public class UploadFileAction extends Action { logger.warn("http decode failed!"); response.setStatus(HttpResponseStatus.BAD_REQUEST); response.setContent("http decode failed"); - return; + return true; } multipartUpload(request, requestId, response); } + return true; } diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/VersionAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/VersionAction.java index a6c24303..acb9eec8 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/VersionAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/VersionAction.java @@ -33,7 +33,7 @@ public class VersionAction extends Action { @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { if (request.getNettyRequest() instanceof FullHttpRequest) { response.setStatus(HttpResponseStatus.OK); @@ -44,5 +44,6 @@ public class VersionAction extends Action { response.setContent("{\"version\":\"unknown\"}"); } } + return true; } } diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/BlockUserAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/BlockUserAction.java index b16eefa0..20b90b7f 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/BlockUserAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/BlockUserAction.java @@ -32,7 +32,7 @@ public class BlockUserAction extends AdminAction { } @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { if (request.getNettyRequest() instanceof FullHttpRequest) { InputOutputUserBlockStatus inputUserBlock = getRequestBody(request.getNettyRequest(), InputOutputUserBlockStatus.class); if (inputUserBlock != null @@ -54,5 +54,6 @@ public class BlockUserAction extends AdminAction { } } + return true; } } diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CheckUserOnlineAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CheckUserOnlineAction.java index b08ea810..155a36a2 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CheckUserOnlineAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CheckUserOnlineAction.java @@ -30,16 +30,17 @@ public class CheckUserOnlineAction extends AdminAction { } @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { if (request.getNettyRequest() instanceof FullHttpRequest) { InputGetUserInfo inputUserId = getRequestBody(request.getNettyRequest(), InputGetUserInfo.class); if (inputUserId == null || !StringUtil.isNullOrEmpty(inputUserId.getUserId())) { RPCCenter.getInstance().sendRequest(null, null, RPCCenter.CHECK_USER_ONLINE_REQUEST, inputUserId.getUserId().getBytes(), inputUserId.getUserId(), TargetEntry.Type.TARGET_TYPE_USER, null, true); - return; + return true; } else { sendResponse(response, ErrorCode.INVALID_PARAMETER, null); } } + return true; } } diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateChatroomAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateChatroomAction.java index 86df70a9..db8feb63 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateChatroomAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateChatroomAction.java @@ -34,7 +34,7 @@ public class CreateChatroomAction extends AdminAction { } @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { if (request.getNettyRequest() instanceof FullHttpRequest) { FullHttpRequest fullHttpRequest = (FullHttpRequest)request.getNettyRequest(); byte[] bytes = Utils.readBytesAndRewind(fullHttpRequest.content()); @@ -67,5 +67,6 @@ public class CreateChatroomAction extends AdminAction { } } + return true; } } diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateGroupAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateGroupAction.java index 8bd713a2..571debb1 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateGroupAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateGroupAction.java @@ -38,7 +38,7 @@ public class CreateGroupAction extends AdminAction { } @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { if (request.getNettyRequest() instanceof FullHttpRequest) { InputCreateGroup inputCreateGroup = getRequestBody(request.getNettyRequest(), InputCreateGroup.class); if (inputCreateGroup.isValide()) { @@ -75,11 +75,13 @@ public class CreateGroupAction extends AdminAction { }; } }, true); + return false; } else { response.setStatus(HttpResponseStatus.OK); RestResult result = RestResult.resultOf(ErrorCode.INVALID_PARAMETER); response.setContent(new Gson().toJson(result)); } } + return true; } } diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateRobotAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateRobotAction.java index 2a3d4ea7..beeda6e8 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateRobotAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateRobotAction.java @@ -33,7 +33,7 @@ public class CreateRobotAction extends AdminAction { } @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { if (request.getNettyRequest() instanceof FullHttpRequest) { InputCreateRobot inputCreateRobot = getRequestBody(request.getNettyRequest(), InputCreateRobot.class); if (inputCreateRobot != null @@ -76,5 +76,6 @@ public class CreateRobotAction extends AdminAction { } } + return true; } } diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateUserAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateUserAction.java index fc6aca44..5409361e 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateUserAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/CreateUserAction.java @@ -33,7 +33,7 @@ public class CreateUserAction extends AdminAction { } @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { if (request.getNettyRequest() instanceof FullHttpRequest) { InputCreateUser inputCreateUser = getRequestBody(request.getNettyRequest(), InputCreateUser.class); if (inputCreateUser != null @@ -90,5 +90,6 @@ public class CreateUserAction extends AdminAction { } } + return true; } } diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/DestoryChatroomAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/DestoryChatroomAction.java index 705bf0e7..1b958af9 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/DestoryChatroomAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/DestoryChatroomAction.java @@ -31,7 +31,7 @@ public class DestoryChatroomAction extends AdminAction { } @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { if (request.getNettyRequest() instanceof FullHttpRequest) { FullHttpRequest fullHttpRequest = (FullHttpRequest)request.getNettyRequest(); byte[] bytes = Utils.readBytesAndRewind(fullHttpRequest.content()); @@ -54,5 +54,6 @@ public class DestoryChatroomAction extends AdminAction { } } + return true; } } diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetChatroomInfoAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetChatroomInfoAction.java index 014d2a30..54bc9784 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetChatroomInfoAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetChatroomInfoAction.java @@ -31,7 +31,7 @@ public class GetChatroomInfoAction extends AdminAction { } @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { if (request.getNettyRequest() instanceof FullHttpRequest) { String chatroomid = request.getParam("id"); @@ -56,5 +56,6 @@ public class GetChatroomInfoAction extends AdminAction { } } + return true; } } diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetIMTokenAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetIMTokenAction.java index 95df5b71..81d03242 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetIMTokenAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetIMTokenAction.java @@ -34,7 +34,7 @@ public class GetIMTokenAction extends AdminAction { } @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { if (request.getNettyRequest() instanceof FullHttpRequest) { InputGetToken input = getRequestBody(request.getNettyRequest(), InputGetToken.class); String userId = input.getUserId(); @@ -76,6 +76,8 @@ public class GetIMTokenAction extends AdminAction { }; } }, true); + return false; } + return true; } } diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetUserAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetUserAction.java index 38e93e9b..9fe0cf45 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetUserAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetUserAction.java @@ -33,7 +33,7 @@ public class GetUserAction extends AdminAction { } @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { if (request.getNettyRequest() instanceof FullHttpRequest) { InputGetUserInfo inputUserId = getRequestBody(request.getNettyRequest(), InputGetUserInfo.class); if (inputUserId != null @@ -64,5 +64,6 @@ public class GetUserAction extends AdminAction { } } + return true; } } diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetUserBlockListAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetUserBlockListAction.java index 5dd3d3b4..7c01c1f3 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetUserBlockListAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetUserBlockListAction.java @@ -27,11 +27,12 @@ public class GetUserBlockListAction extends AdminAction { } @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { if (request.getNettyRequest() instanceof FullHttpRequest) { response.setStatus(HttpResponseStatus.OK); RestResult result = RestResult.ok(messagesStore.getUserStatusList()); response.setContent(new Gson().toJson(result)); } + return true; } } diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetUserBlockStatusAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetUserBlockStatusAction.java index 1d4d0911..b73fc024 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetUserBlockStatusAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/GetUserBlockStatusAction.java @@ -32,7 +32,7 @@ public class GetUserBlockStatusAction extends AdminAction { } @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { if (request.getNettyRequest() instanceof FullHttpRequest) { InputGetUserInfo inputUserId = getRequestBody(request.getNettyRequest(), InputGetUserInfo.class); if (inputUserId != null @@ -49,5 +49,6 @@ public class GetUserBlockStatusAction extends AdminAction { } } + return true; } } diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/RecallMessageAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/RecallMessageAction.java index a7a038d8..2ff8f136 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/RecallMessageAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/RecallMessageAction.java @@ -38,7 +38,7 @@ public class RecallMessageAction extends AdminAction { } @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { if (request.getNettyRequest() instanceof FullHttpRequest) { RecallMessageData recallMessageData = getRequestBody(request.getNettyRequest(), RecallMessageData.class); if (recallMessageData != null && !StringUtil.isNullOrEmpty(recallMessageData.getOperator())) { @@ -70,11 +70,13 @@ public class RecallMessageAction extends AdminAction { }; } }, true); + return false; } else { response.setStatus(HttpResponseStatus.OK); RestResult result = RestResult.resultOf(ErrorCode.INVALID_PARAMETER); response.setContent(new Gson().toJson(result)); } } + return true; } } diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SendMessageAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SendMessageAction.java index 2442c526..5edb3c88 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SendMessageAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SendMessageAction.java @@ -39,7 +39,7 @@ public class SendMessageAction extends AdminAction { } @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { if (request.getNettyRequest() instanceof FullHttpRequest) { SendMessageData sendMessageData = getRequestBody(request.getNettyRequest(), SendMessageData.class); if (SendMessageData.isValide(sendMessageData) && !StringUtil.isNullOrEmpty(sendMessageData.getSender())) { @@ -75,11 +75,13 @@ public class SendMessageAction extends AdminAction { }; } }, true); + return false; } else { response.setStatus(HttpResponseStatus.OK); RestResult result = RestResult.resultOf(ErrorCode.INVALID_PARAMETER); response.setContent(new Gson().toJson(result)); } } + return true; } } diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SensitiveWordAddAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SensitiveWordAddAction.java index 7539f3f0..79f59e0b 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SensitiveWordAddAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SensitiveWordAddAction.java @@ -33,7 +33,7 @@ public class SensitiveWordAddAction extends AdminAction { } @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { if (request.getNettyRequest() instanceof FullHttpRequest) { InputOutputSensitiveWords input = getRequestBody(request.getNettyRequest(), InputOutputSensitiveWords.class); if (input != null && input.getWords() != null && !input.getWords().isEmpty()) { @@ -47,5 +47,6 @@ public class SensitiveWordAddAction extends AdminAction { } } + return true; } } diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SensitiveWordDeleteAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SensitiveWordDeleteAction.java index 6cd46564..e634733e 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SensitiveWordDeleteAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SensitiveWordDeleteAction.java @@ -29,7 +29,7 @@ public class SensitiveWordDeleteAction extends AdminAction { } @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { if (request.getNettyRequest() instanceof FullHttpRequest) { InputOutputSensitiveWords input = getRequestBody(request.getNettyRequest(), InputOutputSensitiveWords.class); if (input != null && input.getWords() != null && !input.getWords().isEmpty()) { @@ -44,5 +44,6 @@ public class SensitiveWordDeleteAction extends AdminAction { } } + return true; } } diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SensitiveWordQueryAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SensitiveWordQueryAction.java index 15c899b2..b92526e5 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SensitiveWordQueryAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/admin/SensitiveWordQueryAction.java @@ -31,12 +31,13 @@ public class SensitiveWordQueryAction extends AdminAction { } @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { if (request.getNettyRequest() instanceof FullHttpRequest) { List words = messagesStore.getAllSensitiveWords(); InputOutputSensitiveWords out = new InputOutputSensitiveWords(); out.setWords(words); sendResponse(response, ErrorCode.ERROR_CODE_SUCCESS, out); } + return true; } } diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/channel/SendMessageAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/channel/SendMessageAction.java index 97c1a51a..39fc9700 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/channel/SendMessageAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/channel/SendMessageAction.java @@ -42,7 +42,7 @@ public class SendMessageAction extends ChannelAction { } @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { if (request.getNettyRequest() instanceof FullHttpRequest) { SendMessageData sendMessageData = getRequestBody(request.getNettyRequest(), SendMessageData.class); sendMessageData.setConv(new Conversation()); @@ -82,11 +82,13 @@ public class SendMessageAction extends ChannelAction { }; } }, false); + return false; } else { response.setStatus(HttpResponseStatus.OK); RestResult result = RestResult.resultOf(ErrorCode.INVALID_PARAMETER); response.setContent(new Gson().toJson(result)); } } + return true; } } diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/robot/GetUserAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/robot/GetUserAction.java index 1c688b42..43e00b09 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/robot/GetUserAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/robot/GetUserAction.java @@ -28,7 +28,7 @@ import win.liyufan.im.ErrorCode; public class GetUserAction extends RobotAction { @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { if (request.getNettyRequest() instanceof FullHttpRequest) { InputGetUserInfo inputUserId = getRequestBody(request.getNettyRequest(), InputGetUserInfo.class); if (inputUserId != null @@ -59,5 +59,6 @@ public class GetUserAction extends RobotAction { } } + return true; } } diff --git a/broker/src/main/java/com/xiaoleilu/loServer/action/robot/SendMessageAction.java b/broker/src/main/java/com/xiaoleilu/loServer/action/robot/SendMessageAction.java index f1c2f65b..f330b5ff 100755 --- a/broker/src/main/java/com/xiaoleilu/loServer/action/robot/SendMessageAction.java +++ b/broker/src/main/java/com/xiaoleilu/loServer/action/robot/SendMessageAction.java @@ -40,7 +40,7 @@ public class SendMessageAction extends RobotAction { } @Override - public void action(Request request, Response response) { + public boolean action(Request request, Response response) { if (request.getNettyRequest() instanceof FullHttpRequest) { SendMessageData sendMessageData = getRequestBody(request.getNettyRequest(), SendMessageData.class); sendMessageData.setSender(robot.getUid()); @@ -77,11 +77,13 @@ public class SendMessageAction extends RobotAction { }; } }, false); + return false; } else { response.setStatus(HttpResponseStatus.OK); RestResult result = RestResult.resultOf(ErrorCode.INVALID_PARAMETER); response.setContent(new Gson().toJson(result)); } } + return true; } }