解决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
@@ -39,8 +39,6 @@ abstract public class Action {
public ChannelHandlerContext ctx; public ChannelHandlerContext ctx;
protected boolean isSync = true;
public ErrorCode preAction(Request request, Response response) { public ErrorCode preAction(Request request, Response response) {
if (getClass().getAnnotation(RequireAuthentication.class) != null) { if (getClass().getAnnotation(RequireAuthentication.class) != null) {
//do authentication //do authentication
@@ -50,6 +48,7 @@ abstract public class Action {
} }
public boolean doAction(Request request, Response response) { public boolean doAction(Request request, Response response) {
ErrorCode errorCode = preAction(request, response); ErrorCode errorCode = preAction(request, response);
boolean isSync = true;
if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) { if (errorCode == ErrorCode.ERROR_CODE_SUCCESS) {
//事务逻辑有缺陷,先注释掉 //事务逻辑有缺陷,先注释掉
// if (isTransactionAction() && !(this instanceof IMAction)) { // if (isTransactionAction() && !(this instanceof IMAction)) {
@@ -63,9 +62,8 @@ abstract public class Action {
// throw e; // throw e;
// } // }
// } else { // } else {
action(request, response); isSync = action(request, response);
// } // }
afterAction(request, response);
} else { } else {
response.setStatus(HttpResponseStatus.OK); response.setStatus(HttpResponseStatus.OK);
if (errorCode == null) { if (errorCode == null) {
@@ -77,19 +75,12 @@ abstract public class Action {
response.send(); response.send();
} }
if(this instanceof IMAction || this instanceof RouteAction || this instanceof GetIMTokenAction) {
isSync = false;
}
return isSync; return isSync;
} }
public boolean isTransactionAction() { public boolean isTransactionAction() {
return false; return false;
} }
abstract public void action(Request request, Response response); abstract public boolean action(Request request, Response response);
public void afterAction(Request request, Response response) {
}
protected <T> T getRequestBody(HttpRequest request, Class<T> cls) { protected <T> T getRequestBody(HttpRequest request, Class<T> cls) {
if (request instanceof FullHttpRequest) { if (request instanceof FullHttpRequest) {
@@ -12,7 +12,8 @@ import io.moquette.spi.IMessagesStore;
*/ */
public class DefaultIndexAction extends Action{ public class DefaultIndexAction extends Action{
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
response.setContent("Welcome to LoServer."); response.setContent("Welcome to LoServer.");
return true;
} }
} }
@@ -34,15 +34,15 @@ public class FileAction extends Action {
private static final org.slf4j.Logger Logger = LoggerFactory.getLogger(FileAction.class); private static final org.slf4j.Logger Logger = LoggerFactory.getLogger(FileAction.class);
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
if (false == Request.METHOD_GET.equalsIgnoreCase(request.getMethod())) { if (false == Request.METHOD_GET.equalsIgnoreCase(request.getMethod())) {
response.sendError(HttpResponseStatus.METHOD_NOT_ALLOWED, "Please use GET method to request file!"); response.sendError(HttpResponseStatus.METHOD_NOT_ALLOWED, "Please use GET method to request file!");
return; return true;
} }
if(ServerSetting.isRootAvailable() == false){ if(ServerSetting.isRootAvailable() == false){
response.sendError(HttpResponseStatus.NOT_FOUND, "404 Root dir not avaliable!"); response.sendError(HttpResponseStatus.NOT_FOUND, "404 Root dir not avaliable!");
return; return true;
} }
final File file = getFileByPath(request.getPath()); final File file = getFileByPath(request.getPath());
@@ -51,13 +51,13 @@ public class FileAction extends Action {
// 隐藏文件,跳过 // 隐藏文件,跳过
if (file.isHidden() || !file.exists()) { if (file.isHidden() || !file.exists()) {
response.sendError(HttpResponseStatus.NOT_FOUND, "404 File not found!"); response.sendError(HttpResponseStatus.NOT_FOUND, "404 File not found!");
return; return true;
} }
// 非文件,跳过 // 非文件,跳过
if (false == file.isFile()) { if (false == file.isFile()) {
response.sendError(HttpResponseStatus.FORBIDDEN, "403 Forbidden!"); response.sendError(HttpResponseStatus.FORBIDDEN, "403 Forbidden!");
return; return true;
} }
// Cache Validation // Cache Validation
@@ -76,12 +76,13 @@ public class FileAction extends Action {
if (ifModifiedSinceDateSeconds == fileLastModifiedSeconds) { if (ifModifiedSinceDateSeconds == fileLastModifiedSeconds) {
Logger.debug("File {} not modified.", file.getPath()); Logger.debug("File {} not modified.", file.getPath());
response.sendNotModified(); response.sendNotModified();
return; return true;
} }
} }
} }
response.setContent(file); response.setContent(file);
return true;
} }
private static final Pattern INSECURE_URI = Pattern.compile(".*[<>&\"].*"); private static final Pattern INSECURE_URI = Pattern.compile(".*[<>&\"].*");
@@ -35,7 +35,7 @@ import java.util.concurrent.Executor;
public class IMAction extends Action { public class IMAction extends Action {
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
if (request.getNettyRequest() instanceof FullHttpRequest) { if (request.getNettyRequest() instanceof FullHttpRequest) {
FullHttpRequest fullHttpRequest = (FullHttpRequest)request.getNettyRequest(); FullHttpRequest fullHttpRequest = (FullHttpRequest)request.getNettyRequest();
@@ -46,7 +46,7 @@ public class IMAction extends Action {
bytes = Base64.getDecoder().decode(str); bytes = Base64.getDecoder().decode(str);
} catch (IllegalArgumentException e) { } catch (IllegalArgumentException e) {
sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null); sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null);
return; return true;
} }
String cid = fullHttpRequest.headers().get("cid"); String cid = fullHttpRequest.headers().get("cid");
@@ -54,7 +54,7 @@ public class IMAction extends Action {
cbytes = AES.AESDecrypt(cbytes, "", true); cbytes = AES.AESDecrypt(cbytes, "", true);
if (cbytes == null) { if (cbytes == null) {
sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null); sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null);
return; return true;
} }
cid = new String(cbytes); cid = new String(cbytes);
@@ -64,13 +64,13 @@ public class IMAction extends Action {
bytes = AES.AESDecrypt(bytes, session.getSecret(), true); bytes = AES.AESDecrypt(bytes, session.getSecret(), true);
} else { } else {
sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null); sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null);
return; return true;
} }
if (bytes == null) { if (bytes == null) {
sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null); sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null);
return; return true;
} }
try { try {
@@ -103,11 +103,13 @@ public class IMAction extends Action {
}; };
} }
}, false); }, false);
return false;
} }
} catch (InvalidProtocolBufferException e) { } catch (InvalidProtocolBufferException e) {
sendResponse(response, ErrorCode.ERROR_CODE_INVALID_DATA, null); sendResponse(response, ErrorCode.ERROR_CODE_INVALID_DATA, null);
} }
} }
return true;
} }
private void sendResponse(Response response, ErrorCode errorCode, byte[] contents) { private void sendResponse(Response response, ErrorCode errorCode, byte[] contents) {
@@ -27,7 +27,8 @@ public class NotFoundAction extends Action{
private final static String TEMPLATE_ERROR = "<!DOCTYPE html><html><head><title>LoServer - Error report</title><style>h1,h3 {color:white; background-color: gray;}</style></head><body><h1>HTTP Status {} - {}</h1><hr size=\"1\" noshade=\"noshade\" /><p>{}</p><hr size=\"1\" noshade=\"noshade\" /><h3>LoServer</h3></body></html>"; private final static String TEMPLATE_ERROR = "<!DOCTYPE html><html><head><title>LoServer - Error report</title><style>h1,h3 {color:white; background-color: gray;}</style></head><body><h1>HTTP Status {} - {}</h1><hr size=\"1\" noshade=\"noshade\" /><p>{}</p><hr size=\"1\" noshade=\"noshade\" /><h3>LoServer</h3></body></html>";
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
response.sendError(HttpResponseStatus.NOT_FOUND, "404 Not found!"); response.sendError(HttpResponseStatus.NOT_FOUND, "404 Not found!");
return true;
} }
} }
@@ -36,7 +36,7 @@ import java.util.concurrent.Executor;
public class RouteAction extends Action { public class RouteAction extends Action {
private static final Logger LOG = LoggerFactory.getLogger(RouteAction.class); private static final Logger LOG = LoggerFactory.getLogger(RouteAction.class);
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
if (request.getNettyRequest() instanceof FullHttpRequest) { if (request.getNettyRequest() instanceof FullHttpRequest) {
response.setContentType("application/octet-stream"); response.setContentType("application/octet-stream");
@@ -55,7 +55,7 @@ public class RouteAction extends Action {
bytes = Base64.getDecoder().decode(str); bytes = Base64.getDecoder().decode(str);
} catch (IllegalArgumentException e) { } catch (IllegalArgumentException e) {
sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null, base64Response); sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null, base64Response);
return; return true;
} }
String cid = fullHttpRequest.headers().get("cid"); String cid = fullHttpRequest.headers().get("cid");
@@ -63,7 +63,7 @@ public class RouteAction extends Action {
cbytes = AES.AESDecrypt(cbytes, "", true); cbytes = AES.AESDecrypt(cbytes, "", true);
if (cbytes == null) { if (cbytes == null) {
sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null, base64Response); sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null, base64Response);
return; return true;
} }
cid = new String(cbytes); cid = new String(cbytes);
@@ -72,7 +72,7 @@ public class RouteAction extends Action {
ubytes = AES.AESDecrypt(ubytes, "", true); ubytes = AES.AESDecrypt(ubytes, "", true);
if (ubytes == null) { if (ubytes == null) {
sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null, base64Response); sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null, base64Response);
return; return true;
} }
uid = new String(ubytes); uid = new String(ubytes);
@@ -82,7 +82,7 @@ public class RouteAction extends Action {
ErrorCode errorCode = sessionsStore.createNewSession(uid, cid, true); ErrorCode errorCode = sessionsStore.createNewSession(uid, cid, true);
if (errorCode != ErrorCode.ERROR_CODE_SUCCESS) { if (errorCode != ErrorCode.ERROR_CODE_SUCCESS) {
sendResponse(response, errorCode, null, base64Response); sendResponse(response, errorCode, null, base64Response);
return; return true;
} }
session = sessionsStore.sessionForClientAndUser(uid, cid); session = sessionsStore.sessionForClientAndUser(uid, cid);
} }
@@ -92,13 +92,13 @@ public class RouteAction extends Action {
bytes = AES.AESDecrypt(bytes, session.getSecret(), true); bytes = AES.AESDecrypt(bytes, session.getSecret(), true);
} else { } else {
sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null, base64Response); sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null, base64Response);
return; return true;
} }
if (bytes == null) { if (bytes == null) {
sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null, base64Response); sendResponse(response, ErrorCode.ERROR_CODE_SECRECT_KEY_MISMATCH, null, base64Response);
return; return true;
} }
@@ -133,11 +133,13 @@ public class RouteAction extends Action {
}; };
} }
}, false); }, false);
return false;
} }
} catch (InvalidProtocolBufferException e) { } catch (InvalidProtocolBufferException e) {
sendResponse(response, ErrorCode.ERROR_CODE_INVALID_DATA, null, false); sendResponse(response, ErrorCode.ERROR_CODE_INVALID_DATA, null, false);
} }
} }
return true;
} }
private void sendResponse(Response response, ErrorCode errorCode, byte[] contents, boolean base64Response) { private void sendResponse(Response response, ErrorCode errorCode, byte[] contents, boolean base64Response) {
@@ -27,7 +27,8 @@ public class UnknownErrorAction extends Action{
private final static String TEMPLATE_ERROR = "<!DOCTYPE html><html><head><title>LoServer - Error report</title><style>h1,h3 {color:white; background-color: gray;}</style></head><body><h1>HTTP Status {} - {}</h1><hr size=\"1\" noshade=\"noshade\" /><p>{}</p><hr size=\"1\" noshade=\"noshade\" /><h3>LoServer</h3></body></html>"; private final static String TEMPLATE_ERROR = "<!DOCTYPE html><html><head><title>LoServer - Error report</title><style>h1,h3 {color:white; background-color: gray;}</style></head><body><h1>HTTP Status {} - {}</h1><hr size=\"1\" noshade=\"noshade\" /><p>{}</p><hr size=\"1\" noshade=\"noshade\" /><h3>LoServer</h3></body></html>";
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
response.setStatus(HttpResponseStatus.INTERNAL_SERVER_ERROR); response.setStatus(HttpResponseStatus.INTERNAL_SERVER_ERROR);
return true;
} }
} }
@@ -73,7 +73,7 @@ public class UploadFileAction extends Action {
} }
@Override @Override
public void action(Request r, Response response) { public boolean action(Request r, Response response) {
if (r.getNettyRequest() instanceof FullHttpRequest) { if (r.getNettyRequest() instanceof FullHttpRequest) {
FullHttpRequest request = (FullHttpRequest) r.getNettyRequest(); FullHttpRequest request = (FullHttpRequest) r.getNettyRequest();
@@ -84,12 +84,13 @@ public class UploadFileAction extends Action {
logger.warn("http decode failed!"); logger.warn("http decode failed!");
response.setStatus(HttpResponseStatus.BAD_REQUEST); response.setStatus(HttpResponseStatus.BAD_REQUEST);
response.setContent("http decode failed"); response.setContent("http decode failed");
return; return true;
} }
multipartUpload(request, requestId, response); multipartUpload(request, requestId, response);
} }
return true;
} }
@@ -33,7 +33,7 @@ public class VersionAction extends Action {
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
if (request.getNettyRequest() instanceof FullHttpRequest) { if (request.getNettyRequest() instanceof FullHttpRequest) {
response.setStatus(HttpResponseStatus.OK); response.setStatus(HttpResponseStatus.OK);
@@ -44,5 +44,6 @@ public class VersionAction extends Action {
response.setContent("{\"version\":\"unknown\"}"); response.setContent("{\"version\":\"unknown\"}");
} }
} }
return true;
} }
} }
@@ -32,7 +32,7 @@ public class BlockUserAction extends AdminAction {
} }
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
if (request.getNettyRequest() instanceof FullHttpRequest) { if (request.getNettyRequest() instanceof FullHttpRequest) {
InputOutputUserBlockStatus inputUserBlock = getRequestBody(request.getNettyRequest(), InputOutputUserBlockStatus.class); InputOutputUserBlockStatus inputUserBlock = getRequestBody(request.getNettyRequest(), InputOutputUserBlockStatus.class);
if (inputUserBlock != null if (inputUserBlock != null
@@ -54,5 +54,6 @@ public class BlockUserAction extends AdminAction {
} }
} }
return true;
} }
} }
@@ -30,16 +30,17 @@ public class CheckUserOnlineAction extends AdminAction {
} }
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
if (request.getNettyRequest() instanceof FullHttpRequest) { if (request.getNettyRequest() instanceof FullHttpRequest) {
InputGetUserInfo inputUserId = getRequestBody(request.getNettyRequest(), InputGetUserInfo.class); InputGetUserInfo inputUserId = getRequestBody(request.getNettyRequest(), InputGetUserInfo.class);
if (inputUserId == null || !StringUtil.isNullOrEmpty(inputUserId.getUserId())) { 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); 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 { } else {
sendResponse(response, ErrorCode.INVALID_PARAMETER, null); sendResponse(response, ErrorCode.INVALID_PARAMETER, null);
} }
} }
return true;
} }
} }
@@ -34,7 +34,7 @@ public class CreateChatroomAction extends AdminAction {
} }
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
if (request.getNettyRequest() instanceof FullHttpRequest) { if (request.getNettyRequest() instanceof FullHttpRequest) {
FullHttpRequest fullHttpRequest = (FullHttpRequest)request.getNettyRequest(); FullHttpRequest fullHttpRequest = (FullHttpRequest)request.getNettyRequest();
byte[] bytes = Utils.readBytesAndRewind(fullHttpRequest.content()); byte[] bytes = Utils.readBytesAndRewind(fullHttpRequest.content());
@@ -67,5 +67,6 @@ public class CreateChatroomAction extends AdminAction {
} }
} }
return true;
} }
} }
@@ -38,7 +38,7 @@ public class CreateGroupAction extends AdminAction {
} }
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
if (request.getNettyRequest() instanceof FullHttpRequest) { if (request.getNettyRequest() instanceof FullHttpRequest) {
InputCreateGroup inputCreateGroup = getRequestBody(request.getNettyRequest(), InputCreateGroup.class); InputCreateGroup inputCreateGroup = getRequestBody(request.getNettyRequest(), InputCreateGroup.class);
if (inputCreateGroup.isValide()) { if (inputCreateGroup.isValide()) {
@@ -75,11 +75,13 @@ public class CreateGroupAction extends AdminAction {
}; };
} }
}, true); }, true);
return false;
} else { } else {
response.setStatus(HttpResponseStatus.OK); response.setStatus(HttpResponseStatus.OK);
RestResult result = RestResult.resultOf(ErrorCode.INVALID_PARAMETER); RestResult result = RestResult.resultOf(ErrorCode.INVALID_PARAMETER);
response.setContent(new Gson().toJson(result)); response.setContent(new Gson().toJson(result));
} }
} }
return true;
} }
} }
@@ -33,7 +33,7 @@ public class CreateRobotAction extends AdminAction {
} }
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
if (request.getNettyRequest() instanceof FullHttpRequest) { if (request.getNettyRequest() instanceof FullHttpRequest) {
InputCreateRobot inputCreateRobot = getRequestBody(request.getNettyRequest(), InputCreateRobot.class); InputCreateRobot inputCreateRobot = getRequestBody(request.getNettyRequest(), InputCreateRobot.class);
if (inputCreateRobot != null if (inputCreateRobot != null
@@ -76,5 +76,6 @@ public class CreateRobotAction extends AdminAction {
} }
} }
return true;
} }
} }
@@ -33,7 +33,7 @@ public class CreateUserAction extends AdminAction {
} }
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
if (request.getNettyRequest() instanceof FullHttpRequest) { if (request.getNettyRequest() instanceof FullHttpRequest) {
InputCreateUser inputCreateUser = getRequestBody(request.getNettyRequest(), InputCreateUser.class); InputCreateUser inputCreateUser = getRequestBody(request.getNettyRequest(), InputCreateUser.class);
if (inputCreateUser != null if (inputCreateUser != null
@@ -90,5 +90,6 @@ public class CreateUserAction extends AdminAction {
} }
} }
return true;
} }
} }
@@ -31,7 +31,7 @@ public class DestoryChatroomAction extends AdminAction {
} }
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
if (request.getNettyRequest() instanceof FullHttpRequest) { if (request.getNettyRequest() instanceof FullHttpRequest) {
FullHttpRequest fullHttpRequest = (FullHttpRequest)request.getNettyRequest(); FullHttpRequest fullHttpRequest = (FullHttpRequest)request.getNettyRequest();
byte[] bytes = Utils.readBytesAndRewind(fullHttpRequest.content()); byte[] bytes = Utils.readBytesAndRewind(fullHttpRequest.content());
@@ -54,5 +54,6 @@ public class DestoryChatroomAction extends AdminAction {
} }
} }
return true;
} }
} }
@@ -31,7 +31,7 @@ public class GetChatroomInfoAction extends AdminAction {
} }
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
if (request.getNettyRequest() instanceof FullHttpRequest) { if (request.getNettyRequest() instanceof FullHttpRequest) {
String chatroomid = request.getParam("id"); String chatroomid = request.getParam("id");
@@ -56,5 +56,6 @@ public class GetChatroomInfoAction extends AdminAction {
} }
} }
return true;
} }
} }
@@ -34,7 +34,7 @@ public class GetIMTokenAction extends AdminAction {
} }
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
if (request.getNettyRequest() instanceof FullHttpRequest) { if (request.getNettyRequest() instanceof FullHttpRequest) {
InputGetToken input = getRequestBody(request.getNettyRequest(), InputGetToken.class); InputGetToken input = getRequestBody(request.getNettyRequest(), InputGetToken.class);
String userId = input.getUserId(); String userId = input.getUserId();
@@ -76,6 +76,8 @@ public class GetIMTokenAction extends AdminAction {
}; };
} }
}, true); }, true);
return false;
} }
return true;
} }
} }
@@ -33,7 +33,7 @@ public class GetUserAction extends AdminAction {
} }
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
if (request.getNettyRequest() instanceof FullHttpRequest) { if (request.getNettyRequest() instanceof FullHttpRequest) {
InputGetUserInfo inputUserId = getRequestBody(request.getNettyRequest(), InputGetUserInfo.class); InputGetUserInfo inputUserId = getRequestBody(request.getNettyRequest(), InputGetUserInfo.class);
if (inputUserId != null if (inputUserId != null
@@ -64,5 +64,6 @@ public class GetUserAction extends AdminAction {
} }
} }
return true;
} }
} }
@@ -27,11 +27,12 @@ public class GetUserBlockListAction extends AdminAction {
} }
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
if (request.getNettyRequest() instanceof FullHttpRequest) { if (request.getNettyRequest() instanceof FullHttpRequest) {
response.setStatus(HttpResponseStatus.OK); response.setStatus(HttpResponseStatus.OK);
RestResult result = RestResult.ok(messagesStore.getUserStatusList()); RestResult result = RestResult.ok(messagesStore.getUserStatusList());
response.setContent(new Gson().toJson(result)); response.setContent(new Gson().toJson(result));
} }
return true;
} }
} }
@@ -32,7 +32,7 @@ public class GetUserBlockStatusAction extends AdminAction {
} }
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
if (request.getNettyRequest() instanceof FullHttpRequest) { if (request.getNettyRequest() instanceof FullHttpRequest) {
InputGetUserInfo inputUserId = getRequestBody(request.getNettyRequest(), InputGetUserInfo.class); InputGetUserInfo inputUserId = getRequestBody(request.getNettyRequest(), InputGetUserInfo.class);
if (inputUserId != null if (inputUserId != null
@@ -49,5 +49,6 @@ public class GetUserBlockStatusAction extends AdminAction {
} }
} }
return true;
} }
} }
@@ -38,7 +38,7 @@ public class RecallMessageAction extends AdminAction {
} }
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
if (request.getNettyRequest() instanceof FullHttpRequest) { if (request.getNettyRequest() instanceof FullHttpRequest) {
RecallMessageData recallMessageData = getRequestBody(request.getNettyRequest(), RecallMessageData.class); RecallMessageData recallMessageData = getRequestBody(request.getNettyRequest(), RecallMessageData.class);
if (recallMessageData != null && !StringUtil.isNullOrEmpty(recallMessageData.getOperator())) { if (recallMessageData != null && !StringUtil.isNullOrEmpty(recallMessageData.getOperator())) {
@@ -70,11 +70,13 @@ public class RecallMessageAction extends AdminAction {
}; };
} }
}, true); }, true);
return false;
} else { } else {
response.setStatus(HttpResponseStatus.OK); response.setStatus(HttpResponseStatus.OK);
RestResult result = RestResult.resultOf(ErrorCode.INVALID_PARAMETER); RestResult result = RestResult.resultOf(ErrorCode.INVALID_PARAMETER);
response.setContent(new Gson().toJson(result)); response.setContent(new Gson().toJson(result));
} }
} }
return true;
} }
} }
@@ -39,7 +39,7 @@ public class SendMessageAction extends AdminAction {
} }
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
if (request.getNettyRequest() instanceof FullHttpRequest) { if (request.getNettyRequest() instanceof FullHttpRequest) {
SendMessageData sendMessageData = getRequestBody(request.getNettyRequest(), SendMessageData.class); SendMessageData sendMessageData = getRequestBody(request.getNettyRequest(), SendMessageData.class);
if (SendMessageData.isValide(sendMessageData) && !StringUtil.isNullOrEmpty(sendMessageData.getSender())) { if (SendMessageData.isValide(sendMessageData) && !StringUtil.isNullOrEmpty(sendMessageData.getSender())) {
@@ -75,11 +75,13 @@ public class SendMessageAction extends AdminAction {
}; };
} }
}, true); }, true);
return false;
} else { } else {
response.setStatus(HttpResponseStatus.OK); response.setStatus(HttpResponseStatus.OK);
RestResult result = RestResult.resultOf(ErrorCode.INVALID_PARAMETER); RestResult result = RestResult.resultOf(ErrorCode.INVALID_PARAMETER);
response.setContent(new Gson().toJson(result)); response.setContent(new Gson().toJson(result));
} }
} }
return true;
} }
} }
@@ -33,7 +33,7 @@ public class SensitiveWordAddAction extends AdminAction {
} }
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
if (request.getNettyRequest() instanceof FullHttpRequest) { if (request.getNettyRequest() instanceof FullHttpRequest) {
InputOutputSensitiveWords input = getRequestBody(request.getNettyRequest(), InputOutputSensitiveWords.class); InputOutputSensitiveWords input = getRequestBody(request.getNettyRequest(), InputOutputSensitiveWords.class);
if (input != null && input.getWords() != null && !input.getWords().isEmpty()) { if (input != null && input.getWords() != null && !input.getWords().isEmpty()) {
@@ -47,5 +47,6 @@ public class SensitiveWordAddAction extends AdminAction {
} }
} }
return true;
} }
} }
@@ -29,7 +29,7 @@ public class SensitiveWordDeleteAction extends AdminAction {
} }
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
if (request.getNettyRequest() instanceof FullHttpRequest) { if (request.getNettyRequest() instanceof FullHttpRequest) {
InputOutputSensitiveWords input = getRequestBody(request.getNettyRequest(), InputOutputSensitiveWords.class); InputOutputSensitiveWords input = getRequestBody(request.getNettyRequest(), InputOutputSensitiveWords.class);
if (input != null && input.getWords() != null && !input.getWords().isEmpty()) { if (input != null && input.getWords() != null && !input.getWords().isEmpty()) {
@@ -44,5 +44,6 @@ public class SensitiveWordDeleteAction extends AdminAction {
} }
} }
return true;
} }
} }
@@ -31,12 +31,13 @@ public class SensitiveWordQueryAction extends AdminAction {
} }
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
if (request.getNettyRequest() instanceof FullHttpRequest) { if (request.getNettyRequest() instanceof FullHttpRequest) {
List<String> words = messagesStore.getAllSensitiveWords(); List<String> words = messagesStore.getAllSensitiveWords();
InputOutputSensitiveWords out = new InputOutputSensitiveWords(); InputOutputSensitiveWords out = new InputOutputSensitiveWords();
out.setWords(words); out.setWords(words);
sendResponse(response, ErrorCode.ERROR_CODE_SUCCESS, out); sendResponse(response, ErrorCode.ERROR_CODE_SUCCESS, out);
} }
return true;
} }
} }
@@ -42,7 +42,7 @@ public class SendMessageAction extends ChannelAction {
} }
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
if (request.getNettyRequest() instanceof FullHttpRequest) { if (request.getNettyRequest() instanceof FullHttpRequest) {
SendMessageData sendMessageData = getRequestBody(request.getNettyRequest(), SendMessageData.class); SendMessageData sendMessageData = getRequestBody(request.getNettyRequest(), SendMessageData.class);
sendMessageData.setConv(new Conversation()); sendMessageData.setConv(new Conversation());
@@ -82,11 +82,13 @@ public class SendMessageAction extends ChannelAction {
}; };
} }
}, false); }, false);
return false;
} else { } else {
response.setStatus(HttpResponseStatus.OK); response.setStatus(HttpResponseStatus.OK);
RestResult result = RestResult.resultOf(ErrorCode.INVALID_PARAMETER); RestResult result = RestResult.resultOf(ErrorCode.INVALID_PARAMETER);
response.setContent(new Gson().toJson(result)); response.setContent(new Gson().toJson(result));
} }
} }
return true;
} }
} }
@@ -28,7 +28,7 @@ import win.liyufan.im.ErrorCode;
public class GetUserAction extends RobotAction { public class GetUserAction extends RobotAction {
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
if (request.getNettyRequest() instanceof FullHttpRequest) { if (request.getNettyRequest() instanceof FullHttpRequest) {
InputGetUserInfo inputUserId = getRequestBody(request.getNettyRequest(), InputGetUserInfo.class); InputGetUserInfo inputUserId = getRequestBody(request.getNettyRequest(), InputGetUserInfo.class);
if (inputUserId != null if (inputUserId != null
@@ -59,5 +59,6 @@ public class GetUserAction extends RobotAction {
} }
} }
return true;
} }
} }
@@ -40,7 +40,7 @@ public class SendMessageAction extends RobotAction {
} }
@Override @Override
public void action(Request request, Response response) { public boolean action(Request request, Response response) {
if (request.getNettyRequest() instanceof FullHttpRequest) { if (request.getNettyRequest() instanceof FullHttpRequest) {
SendMessageData sendMessageData = getRequestBody(request.getNettyRequest(), SendMessageData.class); SendMessageData sendMessageData = getRequestBody(request.getNettyRequest(), SendMessageData.class);
sendMessageData.setSender(robot.getUid()); sendMessageData.setSender(robot.getUid());
@@ -77,11 +77,13 @@ public class SendMessageAction extends RobotAction {
}; };
} }
}, false); }, false);
return false;
} else { } else {
response.setStatus(HttpResponseStatus.OK); response.setStatus(HttpResponseStatus.OK);
RestResult result = RestResult.resultOf(ErrorCode.INVALID_PARAMETER); RestResult result = RestResult.resultOf(ErrorCode.INVALID_PARAMETER);
response.setContent(new Gson().toJson(result)); response.setContent(new Gson().toJson(result));
} }
} }
return true;
} }
} }