add toString

This commit is contained in:
Looly
2023-11-12 23:32:02 +08:00
parent 1f9e3f9f9f
commit c581a8ecca
6 changed files with 82 additions and 10 deletions

View File

@@ -23,6 +23,7 @@ import org.dromara.hutool.http.meta.Method;
import org.dromara.hutool.http.server.SimpleServer;
import java.nio.charset.Charset;
import java.util.List;
import java.util.Map;
/**
@@ -234,4 +235,23 @@ public class HttpUtil {
public static SimpleServer createServer(final int port) {
return new SimpleServer(port);
}
/**
* 打印{@link Response} 为可读形式
* @param response {@link Response}
* @return 字符串
*/
public static String toString(final Response response) {
final StringBuilder sb = StrUtil.builder();
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);
}
sb.append("Response Body: ").append(StrUtil.CRLF);
sb.append(" ").append(response.bodyStr()).append(StrUtil.CRLF);
return sb.toString();
}
}

View File

@@ -16,6 +16,7 @@ import org.dromara.hutool.core.io.IORuntimeException;
import org.dromara.hutool.core.array.ArrayUtil;
import org.dromara.hutool.core.util.ObjUtil;
import org.dromara.hutool.http.HttpException;
import org.dromara.hutool.http.HttpUtil;
import org.dromara.hutool.http.client.Response;
import org.apache.http.Header;
import org.apache.http.ParseException;
@@ -121,4 +122,10 @@ public class HttpClient4Response implements Response {
public void close() throws IOException {
rawRes.close();
}
@Override
public String toString() {
return HttpUtil.toString(this);
}
}

View File

@@ -16,6 +16,7 @@ import org.dromara.hutool.core.io.IORuntimeException;
import org.dromara.hutool.core.array.ArrayUtil;
import org.dromara.hutool.core.util.ObjUtil;
import org.dromara.hutool.http.HttpException;
import org.dromara.hutool.http.HttpUtil;
import org.dromara.hutool.http.client.Response;
import org.apache.hc.client5.http.impl.classic.CloseableHttpResponse;
import org.apache.hc.core5.http.ClassicHttpResponse;
@@ -122,4 +123,9 @@ public class HttpClient5Response implements Response {
public void close() throws IOException {
rawRes.close();
}
@Override
public String toString() {
return HttpUtil.toString(this);
}
}

View File

@@ -18,6 +18,7 @@ import org.dromara.hutool.core.text.StrUtil;
import org.dromara.hutool.core.array.ArrayUtil;
import org.dromara.hutool.core.util.ObjUtil;
import org.dromara.hutool.http.HttpException;
import org.dromara.hutool.http.HttpUtil;
import org.dromara.hutool.http.client.Response;
import org.dromara.hutool.http.client.body.ResponseBody;
import org.dromara.hutool.http.client.cookie.GlobalCookieManager;
@@ -222,16 +223,7 @@ public class JdkHttpResponse implements Response, Closeable {
@Override
public String toString() {
final StringBuilder sb = StrUtil.builder();
sb.append("Response Headers: ").append(StrUtil.CRLF);
for (final Entry<String, List<String>> entry : this.headers.entrySet()) {
sb.append(" ").append(entry).append(StrUtil.CRLF);
}
sb.append("Response Body: ").append(StrUtil.CRLF);
sb.append(" ").append(this.bodyStr()).append(StrUtil.CRLF);
return sb.toString();
return HttpUtil.toString(this);
}
// ---------------------------------------------------------------- Private method start

View File

@@ -18,6 +18,7 @@ import okhttp3.ResponseBody;
import org.dromara.hutool.core.io.stream.EmptyInputStream;
import org.dromara.hutool.core.util.ObjUtil;
import org.dromara.hutool.http.GlobalCompressStreamRegister;
import org.dromara.hutool.http.HttpUtil;
import org.dromara.hutool.http.client.Response;
import org.dromara.hutool.http.meta.HeaderName;
@@ -90,4 +91,9 @@ public class OkHttpResponse implements Response {
rawRes.close();
}
}
@Override
public String toString() {
return HttpUtil.toString(this);
}
}