java110
2022-02-20 6259166c380d443c7b03184452833121942cb148
java110-core/src/main/java/com/java110/core/trace/Java110TraceHandlerInterceptor.java
@@ -1,6 +1,5 @@
package com.java110.core.trace;
import com.alibaba.fastjson.JSONObject;
import com.java110.core.log.LoggerFactory;
import com.java110.dto.trace.TraceAnnotationsDto;
import org.slf4j.Logger;
@@ -9,9 +8,6 @@
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Map;
@@ -37,7 +33,7 @@
            headers.put(headerName.toLowerCase(), request.getHeader(headerName));
        }
        //调用链logSwatch
        Java110TraceFactory.createTrace(url, headers,getReqData(request));
        Java110TraceFactory.createTrace(url, headers);
        return true;
    }
@@ -51,39 +47,39 @@
    }
    public String getReqData(HttpServletRequest request) throws Exception{
        String reqData = "";
        if ("POST,PUT".contains(request.getMethod())) {
            InputStream in = request.getInputStream();
            BufferedReader reader = new BufferedReader(new InputStreamReader(in));
            //reader.
            StringBuffer sb = new StringBuffer();
            String str = "";
            while ((str = reader.readLine()) != null) {
                sb.append(str);
            }
            reqData = sb.toString();
        } else {
            Map<String, String[]> params = request.getParameterMap();
            if (params != null && !params.isEmpty()) {
                JSONObject paramObj = new JSONObject();
                for (String key : params.keySet()) {
                    if (params.get(key).length > 0) {
                        String value = "";
                        for (int paramIndex = 0; paramIndex < params.get(key).length; paramIndex++) {
                            value += (params.get(key)[paramIndex] + ",");
                        }
                        value = value.endsWith(",") ? value.substring(0, value.length() - 1) : value;
                        paramObj.put(key, value);
                    }
                    continue;
                }
                reqData = paramObj.toJSONString();
            }
        }
        return reqData;
    }
//    public String getReqData(HttpServletRequest request) throws Exception{
//        String reqData = "";
//        if ("POST,PUT".contains(request.getMethod())) {
//            InputStream in = request.getInputStream();
//            BufferedReader reader = new BufferedReader(new InputStreamReader(in));
//            //reader.
//            StringBuffer sb = new StringBuffer();
//            String str = "";
//            while ((str = reader.readLine()) != null) {
//                sb.append(str);
//            }
//            reqData = sb.toString();
//        } else {
//            Map<String, String[]> params = request.getParameterMap();
//            if (params != null && !params.isEmpty()) {
//                JSONObject paramObj = new JSONObject();
//                for (String key : params.keySet()) {
//                    if (params.get(key).length > 0) {
//                        String value = "";
//                        for (int paramIndex = 0; paramIndex < params.get(key).length; paramIndex++) {
//                            value += (params.get(key)[paramIndex] + ",");
//                        }
//                        value = value.endsWith(",") ? value.substring(0, value.length() - 1) : value;
//                        paramObj.put(key, value);
//                    }
//                    continue;
//                }
//                reqData = paramObj.toJSONString();
//            }
//        }
//
//        return reqData;
//    }
}