From 73da439198d68ed6fec95837ab61df2c8379e451 Mon Sep 17 00:00:00 2001 From: Looly Date: Tue, 27 Dec 2022 18:37:22 +0800 Subject: [PATCH] fix code --- .../extra/servlet/JakartaServletUtil.java | 40 +++++++++++++++++ .../cn/hutool/extra/servlet/ServletUtil.java | 44 ++++++++++++++++++- 2 files changed, 82 insertions(+), 2 deletions(-) diff --git a/hutool-extra/src/main/java/cn/hutool/extra/servlet/JakartaServletUtil.java b/hutool-extra/src/main/java/cn/hutool/extra/servlet/JakartaServletUtil.java index a088c8ea6..ee7d2471c 100755 --- a/hutool-extra/src/main/java/cn/hutool/extra/servlet/JakartaServletUtil.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/servlet/JakartaServletUtil.java @@ -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> getHeadersMap(final HttpServletRequest request) { + final Map> headerMap = new LinkedHashMap<>(); + + final Enumeration 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> getHeadersMap(final HttpServletResponse response) { + final Map> headerMap = new HashMap<>(); + + final Collection names = response.getHeaderNames(); + for (final String name : names) { + headerMap.put(name, response.getHeaders(name)); + } + + return headerMap; + } /** * 忽略大小写获得请求header中的信息 diff --git a/hutool-extra/src/main/java/cn/hutool/extra/servlet/ServletUtil.java b/hutool-extra/src/main/java/cn/hutool/extra/servlet/ServletUtil.java index 008934b95..64338a9be 100755 --- a/hutool-extra/src/main/java/cn/hutool/extra/servlet/ServletUtil.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/servlet/ServletUtil.java @@ -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 getHeaderMap(final HttpServletRequest request) { - final Map headerMap = new HashMap<>(); + final Map headerMap = new LinkedHashMap<>(); final Enumeration 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> getHeadersMap(final HttpServletRequest request) { + final Map> headerMap = new LinkedHashMap<>(); + + final Enumeration 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> getHeadersMap(final HttpServletResponse response) { + final Map> headerMap = new HashMap<>(); + + final Collection names = response.getHeaderNames(); + for (final String name : names) { + headerMap.put(name, response.getHeaders(name)); + } + + return headerMap; + } /** * 忽略大小写获得请求header中的信息