| | |
| | | package com.panzhihua.zuul.filters; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletRequestWrapper; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * @program: springcloud_k8s_panzhihuazhihuishequ |
| | | * @description: 组装request参数 |
| | | * @author: huang.hongfa weixin hhf9596 qq 959656820 |
| | | * @create: 2020-11-26 10:32 |
| | | **/ |
| | | public class SafeboxRequestWrapper extends HttpServletRequestWrapper { |
| | | public SafeboxRequestWrapper(HttpServletRequest request) { |
| | | super(request); |
| | | //将参数表,赋予给当前的Map以便于持有request中的参数 |
| | | this.params.putAll(request.getParameterMap()); |
| | | } |
| | | |
| | | private Map<String, String> headerMap = new HashMap<String, String>(); |
| | | private Map<String , String[]> params = new HashMap<String, String[]>(); |
| | | |
| | | public void addHeader(String name, String value) { |
| | | headerMap.put(name, value); |
| | | } |
| | | |
| | | @Override |
| | | public String getHeader(String name) { |
| | | String headerValue = super.getHeader(name); |
| | | if (headerMap.containsKey(name)) { |
| | | headerValue = headerMap.get(name); |
| | | } |
| | | return headerValue; |
| | | } |
| | | |
| | | @Override |
| | | public Enumeration<String> getHeaderNames() { |
| | | List<String> names = Collections.list(super.getHeaderNames()); |
| | | for (String name : headerMap.keySet()) { |
| | | names.add(name); |
| | | } |
| | | return Collections.enumeration(names); |
| | | } |
| | | |
| | | @Override |
| | | public Enumeration<String> getHeaders(String name) { |
| | | List<String> values = Collections.list(super.getHeaders(name)); |
| | | if (headerMap.containsKey(name)) { |
| | | values.add(headerMap.get(name)); |
| | | } |
| | | return Collections.enumeration(values); |
| | | } |
| | | |
| | | @Override |
| | | |
| | | public String getParameter(String name) {//重写getParameter,代表参数从当前类中的map获取 |
| | | |
| | | String[]values = params.get(name); |
| | | |
| | | if(values == null || values.length == 0) { |
| | | |
| | | return null; |
| | | |
| | | } |
| | | |
| | | return values[0]; |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | @Override |
| | | public String[] getParameterValues(String name) {//同上 |
| | | |
| | | return params.get(name); |
| | | |
| | | } |
| | | } |
| | | package com.panzhihua.zuul.filters;
|
| | |
|
| | | import javax.servlet.http.HttpServletRequest;
|
| | | import javax.servlet.http.HttpServletRequestWrapper;
|
| | | import java.util.*;
|
| | |
|
| | | /**
|
| | | * @program: springcloud_k8s_panzhihuazhihuishequ
|
| | | * @description: 组装request参数
|
| | | * @author: huang.hongfa weixin hhf9596 qq 959656820
|
| | | * @create: 2020-11-26 10:32
|
| | | **/
|
| | | public class SafeboxRequestWrapper extends HttpServletRequestWrapper {
|
| | | public SafeboxRequestWrapper(HttpServletRequest request) {
|
| | | super(request);
|
| | | //将参数表,赋予给当前的Map以便于持有request中的参数
|
| | | this.params.putAll(request.getParameterMap());
|
| | | }
|
| | |
|
| | | private Map<String, String> headerMap = new HashMap<String, String>();
|
| | | private Map<String , String[]> params = new HashMap<String, String[]>();
|
| | |
|
| | | public void addHeader(String name, String value) {
|
| | | headerMap.put(name, value);
|
| | | }
|
| | |
|
| | | @Override
|
| | | public String getHeader(String name) {
|
| | | String headerValue = super.getHeader(name);
|
| | | if (headerMap.containsKey(name)) {
|
| | | headerValue = headerMap.get(name);
|
| | | }
|
| | | return headerValue;
|
| | | }
|
| | |
|
| | | @Override
|
| | | public Enumeration<String> getHeaderNames() {
|
| | | List<String> names = Collections.list(super.getHeaderNames());
|
| | | for (String name : headerMap.keySet()) {
|
| | | names.add(name);
|
| | | }
|
| | | return Collections.enumeration(names);
|
| | | }
|
| | |
|
| | | @Override
|
| | | public Enumeration<String> getHeaders(String name) {
|
| | | List<String> values = Collections.list(super.getHeaders(name));
|
| | | if (headerMap.containsKey(name)) {
|
| | | values.add(headerMap.get(name));
|
| | | }
|
| | | return Collections.enumeration(values);
|
| | | }
|
| | |
|
| | | @Override
|
| | |
|
| | | public String getParameter(String name) {//重写getParameter,代表参数从当前类中的map获取
|
| | |
|
| | | String[]values = params.get(name);
|
| | |
|
| | | if(values == null || values.length == 0) {
|
| | |
|
| | | return null;
|
| | |
|
| | | }
|
| | |
|
| | | return values[0];
|
| | |
|
| | | }
|
| | |
|
| | |
|
| | |
|
| | | @Override
|
| | | public String[] getParameterValues(String name) {//同上
|
| | |
|
| | | return params.get(name);
|
| | |
|
| | | }
|
| | | }
|