From d1037cd415b2b519d4b102f8967395fa3f1b14d1 Mon Sep 17 00:00:00 2001 From: Toint <599818663@qq.com> Date: Sun, 28 Jul 2024 05:10:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0HttpUtil=E5=AF=B9Request?= =?UTF-8?q?=E7=9A=84toString=E9=9D=99=E6=80=81=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/hutool/http/HttpUtil.java | 26 +++++++++++++++++++ .../dromara/hutool/http/client/Request.java | 20 ++------------ 2 files changed, 28 insertions(+), 18 deletions(-) diff --git a/hutool-http/src/main/java/org/dromara/hutool/http/HttpUtil.java b/hutool-http/src/main/java/org/dromara/hutool/http/HttpUtil.java index 40331d121..307f29e5d 100644 --- a/hutool-http/src/main/java/org/dromara/hutool/http/HttpUtil.java +++ b/hutool-http/src/main/java/org/dromara/hutool/http/HttpUtil.java @@ -315,6 +315,32 @@ public class HttpUtil { return sb.toString(); } + /** + * 打印 {@link Request} 为可读形式 + * + * @param request {@link Request} + * @return 字符串 + */ + public static String toString(final Request request) { + final StringBuilder sb = StrUtil.builder(); + sb.append("Request Url: ").append(request.url()).append(StrUtil.CRLF); + + // header + sb.append("Request Headers: ").append(StrUtil.CRLF); + for (Map.Entry> entry : request.headers().entrySet()) { + sb.append(" ") + .append(entry.getKey()) + .append(": ") + .append(CollUtil.join(entry.getValue(), ",")) + .append(StrUtil.CRLF); + } + + // body + sb.append("Request Body: ").append(StrUtil.CRLF); + sb.append(" ").append(request.bodyStr()).append(StrUtil.CRLF); + return sb.toString(); + } + /** * 获取指定的Header值,如果不存在返回{@code null}
* 根据RFC2616规范,header的name不区分大小写,因此首先get值,不存在则遍历匹配不区分大小写的key。 diff --git a/hutool-http/src/main/java/org/dromara/hutool/http/client/Request.java b/hutool-http/src/main/java/org/dromara/hutool/http/client/Request.java index 7e279d81e..f377f6f93 100644 --- a/hutool-http/src/main/java/org/dromara/hutool/http/client/Request.java +++ b/hutool-http/src/main/java/org/dromara/hutool/http/client/Request.java @@ -12,7 +12,6 @@ package org.dromara.hutool.http.client; -import org.dromara.hutool.core.collection.CollUtil; import org.dromara.hutool.core.collection.ListUtil; import org.dromara.hutool.core.io.IoUtil; import org.dromara.hutool.core.io.resource.Resource; @@ -25,6 +24,7 @@ import org.dromara.hutool.core.text.StrUtil; import org.dromara.hutool.core.util.CharsetUtil; import org.dromara.hutool.http.GlobalHeaders; import org.dromara.hutool.http.HttpGlobalConfig; +import org.dromara.hutool.http.HttpUtil; import org.dromara.hutool.http.client.body.*; import org.dromara.hutool.http.client.engine.ClientEngine; import org.dromara.hutool.http.client.engine.ClientEngineFactory; @@ -458,22 +458,6 @@ public class Request implements HeaderOperation { @Override public String toString() { - final StringBuilder sb = StrUtil.builder(); - sb.append("Request Url: ").append(this.url).append(StrUtil.CRLF); - - // header - sb.append("Request Headers: ").append(StrUtil.CRLF); - for (Map.Entry> entry : this.headers.entrySet()) { - sb.append(" ") - .append(entry.getKey()) - .append(": ") - .append(CollUtil.join(entry.getValue(), ",")) - .append(StrUtil.CRLF); - } - - // body - sb.append("Request Body: ").append(StrUtil.CRLF); - sb.append(" ").append(this.bodyStr()).append(StrUtil.CRLF); - return sb.toString(); + return HttpUtil.toString(this); } }