puzhibing
2026-09-21 008ffb622f7e8b941245a4cf19042c7baef39b24
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
//package com.ruoyi.goods.fliter;
//
//
//import com.alibaba.fastjson2.JSONObject;
//import com.ruoyi.common.core.utils.StringUtils;
//import lombok.extern.log4j.Log4j2;
//import org.springframework.stereotype.Component;
//
//import javax.servlet.*;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import java.io.BufferedReader;
//import java.io.IOException;
//import java.io.InputStreamReader;
//import java.io.UnsupportedEncodingException;
//import java.net.URLDecoder;
//import java.util.HashMap;
//import java.util.Map;
//
//@Component
//@Log4j2
//public class ParamsAuthFilter implements Filter {
//
//    // 令牌自定义标识
//    //@Value("${token.header}")
//    private String header = "Authorization";
//
//
//    @Override
//    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
//        HttpServletRequest request = (HttpServletRequest) servletRequest;
//        HttpServletResponse response = (HttpServletResponse) servletResponse;
//        String requestUrl = request.getRequestURI();
//        String requestUrlUpperCase = requestUrl.toUpperCase();
//        if(requestUrlUpperCase.contains("EXPORT")
//                ||requestUrlUpperCase.contains("IMPORTTEMPLATE")
//        ){
//            filterChain.doFilter(request, response);
//            return;
//        }
//        RepeatedlyRequestWrapper wrapper = new RepeatedlyRequestWrapper(request, response);
//        getRequestParams(wrapper);
//
//        ResponseWrapper responseWrapper = new ResponseWrapper(response);
//        filterChain.doFilter(wrapper, responseWrapper);
//
//        // 返回的结果
//        String content = responseWrapper.getTextContent();
//        log.info("-------------------- Response Data ----------------------");
//        log.info(requestUrl + " -> " + content);
//
//        response.getOutputStream().write(content.getBytes());
//    }
//
//
//    private void getRequestParams(HttpServletRequest request){
//        Map<String, String> params = getUrlParams(request);
//        try {
//            String requestUrl = request.getRequestURI();
//            Map<String, String> urlParams = getUrlParams(request);
//            Map<String, String> bodyParams = getBodyParams(request);
//
//            params.putAll(urlParams);
//            params.putAll(bodyParams);
//            log.info("-------------------- request header ----------------------");
//            log.info(header + " -> " + request.getHeader(header));
//            log.info("-------------------- request params ----------------------");
//            log.info(requestUrl + " -> " + JSONObject.toJSONString(params));
//
//        }catch (Exception e){
//            e.printStackTrace();
//        }
//    }
//
//    private Map<String, String> getBodyParams(HttpServletRequest request) throws IOException {
//        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(request.getInputStream()));
//        StringBuilder stringBuilder = new StringBuilder();
//        String buffer = "";
//        while((buffer  = bufferedReader.readLine()) != null){
//            stringBuilder.append(buffer);
//        }
//        String requestBodyStr = stringBuilder.toString();
//        if(StringUtils.isNotBlank(requestBodyStr)){
//            Map<String, String> result = new HashMap<>();
//            try {
//                result = JSONObject.parseObject(stringBuilder.toString(), Map.class);
//            } catch (Exception e) {
//                log.info("requestBodyStr-error -> " + requestBodyStr);
//                e.printStackTrace();
//            }
//            return result;
//        }
//        return new HashMap<>();
//    }
//
//    private Map<String, String> getUrlParams(HttpServletRequest request){
//        String queryParams = "";
//        try {
//            queryParams = request.getQueryString();
//            if(StringUtils.isNotBlank(queryParams)) {
//                queryParams = URLDecoder.decode(request.getQueryString(), "utf-8");
//            }
//        } catch (UnsupportedEncodingException e) {
//            e.printStackTrace();
//        }
//        Map<String, String> result = new HashMap<>();
//        if(StringUtils.isNotBlank(queryParams)) {
//            String[] spilt = queryParams.split("&");
//            for (String s : spilt) {
//                int index = s.indexOf("=");
//                result.put(s.substring(0, index), s.substring(index + 1));
//            }
//        }
//        return result;
//    }
//}