This commit is contained in:
Looly 2022-12-27 18:37:22 +08:00
parent b31d16bc49
commit 73da439198
2 changed files with 82 additions and 2 deletions

View File

@ -3,6 +3,7 @@ package cn.hutool.extra.servlet;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.bean.copier.ValueProvider;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.collection.iter.ArrayIter;
import cn.hutool.core.exceptions.UtilException;
import cn.hutool.core.io.FileUtil;
@ -35,11 +36,14 @@ import java.io.PrintWriter;
import java.io.Writer;
import java.lang.reflect.Type;
import java.nio.charset.Charset;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
@ -300,6 +304,42 @@ public class JakartaServletUtil {
return headerMap;
}
/**
* 获取请求所有的头header信息
*
* @param request 请求对象{@link HttpServletRequest}
* @return header值
* @since 6.0.0
*/
public static Map<String, List<String>> getHeadersMap(final HttpServletRequest request) {
final Map<String, List<String>> headerMap = new LinkedHashMap<>();
final Enumeration<String> names = request.getHeaderNames();
String name;
while (names.hasMoreElements()) {
name = names.nextElement();
headerMap.put(name, ListUtil.of(request.getHeaders(name)));
}
return headerMap;
}
/**
* 获取响应所有的头header信息
*
* @param response 响应对象{@link HttpServletResponse}
* @return header值
*/
public static Map<String, Collection<String>> getHeadersMap(final HttpServletResponse response) {
final Map<String, Collection<String>> headerMap = new HashMap<>();
final Collection<String> names = response.getHeaderNames();
for (final String name : names) {
headerMap.put(name, response.getHeaders(name));
}
return headerMap;
}
/**
* 忽略大小写获得请求header中的信息

View File

@ -3,6 +3,7 @@ package cn.hutool.extra.servlet;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.bean.copier.CopyOptions;
import cn.hutool.core.bean.copier.ValueProvider;
import cn.hutool.core.collection.ListUtil;
import cn.hutool.core.collection.iter.ArrayIter;
import cn.hutool.core.exceptions.UtilException;
import cn.hutool.core.io.FileUtil;
@ -11,9 +12,9 @@ import cn.hutool.core.io.IoUtil;
import cn.hutool.core.map.CaseInsensitiveMap;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.net.NetUtil;
import cn.hutool.core.net.url.URLEncoder;
import cn.hutool.core.net.multipart.MultipartFormData;
import cn.hutool.core.net.multipart.UploadSetting;
import cn.hutool.core.net.url.URLEncoder;
import cn.hutool.core.reflect.ConstructorUtil;
import cn.hutool.core.text.StrUtil;
import cn.hutool.core.util.ArrayUtil;
@ -34,11 +35,14 @@ import java.io.PrintWriter;
import java.io.Writer;
import java.lang.reflect.Type;
import java.nio.charset.Charset;
import java.util.Collection;
import java.util.Collections;
import java.util.Date;
import java.util.Enumeration;
import java.util.HashMap;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
/**
@ -287,7 +291,7 @@ public class ServletUtil {
* @since 4.6.2
*/
public static Map<String, String> getHeaderMap(final HttpServletRequest request) {
final Map<String, String> headerMap = new HashMap<>();
final Map<String, String> headerMap = new LinkedHashMap<>();
final Enumeration<String> names = request.getHeaderNames();
String name;
@ -299,6 +303,42 @@ public class ServletUtil {
return headerMap;
}
/**
* 获取请求所有的头header信息
*
* @param request 请求对象{@link HttpServletRequest}
* @return header值
* @since 6.0.0
*/
public static Map<String, List<String>> getHeadersMap(final HttpServletRequest request) {
final Map<String, List<String>> headerMap = new LinkedHashMap<>();
final Enumeration<String> names = request.getHeaderNames();
String name;
while (names.hasMoreElements()) {
name = names.nextElement();
headerMap.put(name, ListUtil.of(request.getHeaders(name)));
}
return headerMap;
}
/**
* 获取响应所有的头header信息
*
* @param response 响应对象{@link HttpServletResponse}
* @return header值
*/
public static Map<String, Collection<String>> getHeadersMap(final HttpServletResponse response) {
final Map<String, Collection<String>> headerMap = new HashMap<>();
final Collection<String> names = response.getHeaderNames();
for (final String name : names) {
headerMap.put(name, response.getHeaders(name));
}
return headerMap;
}
/**
* 忽略大小写获得请求header中的信息