| | |
| | | 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; |
| | |
| | | |
| | | 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; |
| | |
| | | headers.put(headerName.toLowerCase(), request.getHeader(headerName)); |
| | | } |
| | | //调用链logSwatch |
| | | Java110TraceFactory.createTrace(url, headers,getReqData(request)); |
| | | Java110TraceFactory.createTrace(url, headers); |
| | | return true; |
| | | } |
| | | |
| | |
| | | |
| | | } |
| | | |
| | | 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; |
| | | // } |
| | | |
| | | |
| | | } |