添加HttpUtil对Request的toString静态方法

This commit is contained in:
Toint 2024-07-28 05:10:22 +08:00
parent 2ecb247861
commit d1037cd415
2 changed files with 28 additions and 18 deletions

View File

@ -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<String, ? extends Collection<String>> 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}<br>
* 根据RFC2616规范header的name不区分大小写因此首先get值不存在则遍历匹配不区分大小写的key

View File

@ -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<Request> {
@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<String, ? extends Collection<String>> 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);
}
}