Przeglądaj źródła

覆盖的代码提交

huangzhiyong 7 lat temu
rodzic
commit
bf7d6dd1ea

+ 39 - 0
hos-camel2/src/main/java/camel/central/gateway/processor/ErrorHandle.java

@ -0,0 +1,39 @@
package camel.central.gateway.processor;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.camel.Exchange;
import org.springframework.stereotype.Component;
/**
 * @author Airhead
 * @since 2017/3/17.
 */
@Component("errorHandle")
public class ErrorHandle {
    private ObjectMapper objectMapper =new ObjectMapper();
    public void paramError(Exchange exchange) {
        exchange.getOut().setHeader("errorCode","{\"successFlg\":false,\"pageSize\":10,\"currPage\":0,\"totalPage\":0,\"totalCount\":0,\"detailModelList\":null,\"obj\":null,\"errorMsg\":\"paramError!\",\"errorCode\":0}");
        exchange.getOut().setBody("{\"successFlg\":false,\"pageSize\":10,\"currPage\":0,\"totalPage\":0,\"totalCount\":0,\"detailModelList\":null,\"obj\":null,\"errorMsg\":\"paramError!\",\"errorCode\":0}");
    }
    public void outdateError(Exchange exchange) {
        exchange.getOut().setHeader("errorCode","{\"successFlg\":false,\"pageSize\":10,\"currPage\":0,\"totalPage\":0,\"totalCount\":0,\"detailModelList\":null,\"obj\":null,\"errorMsg\":\"outdateError!\",\"errorCode\":0}");
        exchange.getOut().setBody("{\"successFlg\":false,\"pageSize\":10,\"currPage\":0,\"totalPage\":0,\"totalCount\":0,\"detailModelList\":null,\"obj\":null,\"errorMsg\":\"outdateError!\",\"errorCode\":0}");
    }
    public void signValidError(Exchange exchange) {
        exchange.getOut().setHeader("errorCode","{\"successFlg\":false,\"pageSize\":10,\"currPage\":0,\"totalPage\":0,\"totalCount\":0,\"detailModelList\":null,\"obj\":null,\"errorMsg\":\"signValidError!\",\"errorCode\":0}");
        exchange.getOut().setBody("{\"successFlg\":false,\"pageSize\":10,\"currPage\":0,\"totalPage\":0,\"totalCount\":0,\"detailModelList\":null,\"obj\":null,\"errorMsg\":\"signValidError!\",\"errorCode\":0}");
    }
    public void unauthorizedError(Exchange exchange) {
        exchange.getOut().setHeader("errorCode","{\"successFlg\":false,\"pageSize\":10,\"currPage\":0,\"totalPage\":0,\"totalCount\":0,\"detailModelList\":null,\"obj\":null,\"errorMsg\":\"unauthorizedError!\",\"errorCode\":0}");
        exchange.getOut().setBody("{\"successFlg\":false,\"pageSize\":10,\"currPage\":0,\"totalPage\":0,\"totalCount\":0,\"detailModelList\":null,\"obj\":null,\"errorMsg\":\"unauthorizedError!\",\"errorCode\":0}");
    }
}

+ 12 - 6
hos-camel2/src/main/java/camel/central/gateway/processor/GatewayProcessor.java

@ -48,36 +48,42 @@ public class GatewayProcessor implements Processor {
//        body = URLDecoder.decode(body, "UTF-8");
        Map<String, Object> params = exchange.getIn().getHeaders();
        if (params.get("appKey") == null) {
            return "restlet:http://0.0.0.0:8088/error/paramError?socketTimeout=60000&connectionTimeout=60000";    //TODO:
            exchange.getOut().setHeader(Exchange.HTTP_URI,"paramError");
            return "direct:errorHandle";    //TODO:
        }
        String appKey = params.get("appKey").toString();
        String secret = getSecret(appKey);
        if (secret.equals("")) {
            return "restlet:http://0.0.0.0:8088/error/paramError?socketTimeout=60000&connectionTimeout=60000";    //TODO:
            exchange.getOut().setHeader(Exchange.HTTP_URI,"paramError");
            return "direct:errorHandle";    //TODO:
        }
        boolean pass = checkParams(params);
        if (!pass) {
            return "jetty:http://0.0.0.0:8088/error/paramError?socketTimeout=60000&connectionTimeout=60000";    //TODO:
            exchange.getOut().setHeader(Exchange.HTTP_URI,"paramError");
            return "direct:errorHandle";    //TODO:
        }
        pass = checkTimeStamp(params);
        if (!pass) {
            return "restlet:http://0.0.0.0:8088/error/outdataError?socketTimeout=60000&connectionTimeout=60000";    //TODO:
            exchange.getOut().setHeader(Exchange.HTTP_URI,"outdateError");
            return "direct:errorHandle";    //TODO:
        }
        //获取secret接口,不做sign验证
        if (!"admin.apps.get".equals(params.get("api"))) {
            pass = checkSign(params, secret);
            if (!pass) {
                return "restlet:http://0.0.0.0:8088/error/signValidError?socketTimeout=60000&connectionTimeout=60000";    //TODO:
                exchange.getOut().setHeader(Exchange.HTTP_URI,"signValidError");
                return "direct:errorHandle";    //TODO:
            }
        }
        pass = checkAuthorized(params);
        if (!pass) {
            return "restlet:http://0.0.0.0:8088/error/unauthorizedError";    //TODO:
            exchange.getOut().setHeader(Exchange.HTTP_URI,"unauthorizedError");
            return "direct:errorHandle";    //TODO:
        }
        return genEndpoint(params, exchange);

+ 9 - 0
hos-camel2/src/main/java/camel/central/gateway/route/GatewayRouterBuilder.java

@ -1,5 +1,6 @@
package camel.central.gateway.route;
import camel.central.gateway.processor.ErrorHandle;
import camel.central.gateway.processor.GatewayProcessor;
import camel.central.gateway.processor.WsProcessor;
import org.apache.camel.Exchange;
@ -61,6 +62,14 @@ public class GatewayRouterBuilder extends RouteBuilder {
                .routingSlip(method(GatewayProcessor.class, "route"))
                .to("bean:wsProcessor?method=responseWs");
                from("direct:errorHandle")
                .choice()
                .when(header(Exchange.HTTP_URI).contains("paramError")).bean(new ErrorHandle(), "paramError")
                .when(header(Exchange.HTTP_URI).contains("outdateError")).bean(new ErrorHandle(), "outdateError")
                .when(header(Exchange.HTTP_URI).contains("signValidError")).bean(new ErrorHandle(), "signValidError")
                .when(header(Exchange.HTTP_URI).contains("unauthorizedError")).bean(new ErrorHandle(), "unauthorizedError")
                .endChoice();
        //流程健康测试接口
        from("jetty:http://0.0.0.0:9999/healthy").routeId("healthy")
                .log("=========================心跳测试=====================");