HttpUtil添加Request的静态toString方法,Request添加bodyStr、bodyBytes、bodyStream、toString方法

This commit is contained in:
Looly 2024-07-30 10:42:59 +08:00
parent ef8b2fdeaa
commit 3dd473b2c4
4 changed files with 27 additions and 27 deletions

View File

@ -27,7 +27,6 @@ import org.dromara.hutool.http.server.SimpleServer;
import java.nio.charset.Charset; import java.nio.charset.Charset;
import java.util.Collection; import java.util.Collection;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -304,11 +303,12 @@ public class HttpUtil {
public static String toString(final Response response) { public static String toString(final Response response) {
final StringBuilder sb = StrUtil.builder(); final StringBuilder sb = StrUtil.builder();
sb.append("Response Status: ").append(response.getStatus()).append(StrUtil.CRLF); sb.append("Response Status: ").append(response.getStatus()).append(StrUtil.CRLF);
sb.append("Response Headers: ").append(StrUtil.CRLF);
for (final Map.Entry<String, List<String>> entry : response.headers().entrySet()) {
sb.append(" ").append(entry).append(StrUtil.CRLF);
}
// header
sb.append("Response Headers: ").append(StrUtil.CRLF);
response.headers().forEach((key, value) -> sb.append(" ").append(key).append(": ").append(CollUtil.join(value, ",")).append(StrUtil.CRLF));
// body
sb.append("Response Body: ").append(StrUtil.CRLF); sb.append("Response Body: ").append(StrUtil.CRLF);
sb.append(" ").append(response.bodyStr()).append(StrUtil.CRLF); sb.append(" ").append(response.bodyStr()).append(StrUtil.CRLF);
@ -327,13 +327,7 @@ public class HttpUtil {
// header // header
sb.append("Request Headers: ").append(StrUtil.CRLF); sb.append("Request Headers: ").append(StrUtil.CRLF);
for (Map.Entry<String, ? extends Collection<String>> entry : request.headers().entrySet()) { request.headers().forEach((key, value) -> sb.append(" ").append(key).append(": ").append(CollUtil.join(value, ",")).append(StrUtil.CRLF));
sb.append(" ")
.append(entry.getKey())
.append(": ")
.append(CollUtil.join(entry.getValue(), ","))
.append(StrUtil.CRLF);
}
// body // body
sb.append("Request Body: ").append(StrUtil.CRLF); sb.append("Request Body: ").append(StrUtil.CRLF);

View File

@ -13,7 +13,6 @@
package org.dromara.hutool.http.client; package org.dromara.hutool.http.client;
import org.dromara.hutool.core.collection.ListUtil; import org.dromara.hutool.core.collection.ListUtil;
import org.dromara.hutool.core.io.IoUtil;
import org.dromara.hutool.core.io.resource.Resource; import org.dromara.hutool.core.io.resource.Resource;
import org.dromara.hutool.core.lang.Assert; import org.dromara.hutool.core.lang.Assert;
import org.dromara.hutool.core.map.MapUtil; import org.dromara.hutool.core.map.MapUtil;
@ -271,6 +270,7 @@ public class Request implements HeaderOperation<Request> {
return this; return this;
} }
// region body get
/** /**
* 获取请求体 * 获取请求体
* *
@ -286,11 +286,7 @@ public class Request implements HeaderOperation<Request> {
* @return 请求体字符串 * @return 请求体字符串
*/ */
public String bodyStr() { public String bodyStr() {
InputStream bodyStream = this.bodyStream(); return StrUtil.str(bodyBytes(), this.charset);
if (bodyStream == null) {
return null;
}
return IoUtil.read(bodyStream, this.charset);
} }
/** /**
@ -299,11 +295,7 @@ public class Request implements HeaderOperation<Request> {
* @return 请求体字节码 * @return 请求体字节码
*/ */
public byte[] bodyBytes() { public byte[] bodyBytes() {
InputStream bodyStream = this.bodyStream(); return this.body == null ? null : this.body.getBytes();
if (bodyStream == null) {
return null;
}
return IoUtil.readBytes(bodyStream);
} }
/** /**
@ -312,10 +304,7 @@ public class Request implements HeaderOperation<Request> {
* @return 请求体资源流 * @return 请求体资源流
*/ */
public InputStream bodyStream() { public InputStream bodyStream() {
if (this.body == null) { return this.body == null ? null : this.body.getStream();
return null;
}
return this.body.getStream();
} }
/** /**
@ -329,7 +318,9 @@ public class Request implements HeaderOperation<Request> {
} }
return body(); return body();
} }
// endregion
// region body set
/** /**
* 添加请求表单内容 * 添加请求表单内容
* *
@ -380,6 +371,7 @@ public class Request implements HeaderOperation<Request> {
return this; return this;
} }
// endregion
/** /**
* 获取最大重定向请求次数 * 获取最大重定向请求次数

View File

@ -93,4 +93,17 @@ public interface HttpBody {
writeClose(out); writeClose(out);
return IoUtil.toStream(out); return IoUtil.toStream(out);
} }
/**
* 获取请求响应体字节码
*
* @return 请求体字节码
*/
default byte[] getBytes() {
final InputStream bodyStream = getStream();
if (bodyStream == null) {
return null;
}
return IoUtil.readBytes(bodyStream);
}
} }

View File

@ -83,6 +83,7 @@ public class ResponseBody implements HttpBody, Closeable {
* *
* @return 响应内容bytes * @return 响应内容bytes
*/ */
@Override
public byte[] getBytes() { public byte[] getBytes() {
return this.bodyStream.readBytes(); return this.bodyStream.readBytes();
} }