This commit is contained in:
Looly 2024-08-08 19:53:16 +08:00
parent 9eb95bf9d7
commit cf5c9793ea
7 changed files with 14 additions and 17 deletions

View File

@ -206,9 +206,9 @@ public interface HeaderOperation<T extends HeaderOperation<T>> {
}
/**
* 获取内容编码
* 获取压缩媒体类型
*
* @return String
* @return 压缩媒体类型
*/
default String contentEncoding() {
return header(HeaderName.CONTENT_ENCODING);

View File

@ -12,13 +12,12 @@
package org.dromara.hutool.http.client.engine.httpclient4;
import org.apache.http.entity.AbstractHttpEntity;
import org.dromara.hutool.http.client.body.BytesBody;
import org.dromara.hutool.http.client.body.HttpBody;
import org.apache.http.entity.AbstractHttpEntity;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.charset.Charset;
/**
* {@link HttpBody}转换为{@link org.apache.hc.core5.http.HttpEntity}对象
@ -34,14 +33,14 @@ public class HttpClient4BodyEntity extends AbstractHttpEntity {
* 构造
*
* @param contentType Content-Type类型
* @param charset 自定义请求编码
* @param contentEncoding 压缩媒体类型如gzipdeflate等
* @param chunked 是否块模式传输
* @param body {@link HttpBody}
*/
public HttpClient4BodyEntity(final String contentType, final Charset charset, final boolean chunked, final HttpBody body) {
public HttpClient4BodyEntity(final String contentType, final String contentEncoding, final boolean chunked, final HttpBody body) {
super();
setContentType(contentType);
setContentEncoding(null == charset ? null : charset.name());
setContentEncoding(contentEncoding);
setChunked(chunked);
this.body = body;
}

View File

@ -158,8 +158,7 @@ public class HttpClient4Engine implements ClientEngine {
requestBuilder.setEntity(new HttpClient4BodyEntity(
// 用户自定义的内容类型
message.header(HeaderName.CONTENT_TYPE),
// 用户自定义编码
message.charset(),
message.contentEncoding(),
message.isChunked(),
body));
}

View File

@ -18,7 +18,6 @@ import org.dromara.hutool.http.client.body.HttpBody;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.charset.Charset;
/**
* {@link HttpBody}转换为{@link org.apache.hc.core5.http.HttpEntity}对象
@ -34,12 +33,12 @@ public class HttpClient5BodyEntity extends AbstractHttpEntity {
* 构造
*
* @param contentType Content-Type类型
* @param charset 自定义请求编码
* @param contentEncoding 压缩媒体类型如gzipdeflate等
* @param chunked 是否块模式传输
* @param body {@link HttpBody}
*/
public HttpClient5BodyEntity(final String contentType, final Charset charset, final boolean chunked, final HttpBody body) {
super(contentType, null == charset ? null : charset.name(), chunked);
public HttpClient5BodyEntity(final String contentType, final String contentEncoding, final boolean chunked, final HttpBody body) {
super(contentType, contentEncoding, chunked);
this.body = body;
}

View File

@ -157,8 +157,7 @@ public class HttpClient5Engine implements ClientEngine {
request.setEntity(new HttpClient5BodyEntity(
// 用户自定义的内容类型
message.header(HeaderName.CONTENT_TYPE),
// 用户自定义编码
message.charset(),
message.contentEncoding(),
message.isChunked(),
body));
}

View File

@ -34,6 +34,7 @@ public class OkHttpRequestBody extends okhttp3.RequestBody {
this.body = body;
}
@Override
public MediaType contentType() {
return null;
}

View File

@ -129,11 +129,11 @@ public enum HeaderName {
*/
WWW_AUTHENTICATE("WWW-Authenticate"),
/**
* Cookie
* Set-Cookie
*/
SET_COOKIE("Set-Cookie"),
/**
* Content-Encoding
* 压缩媒体类型Content-Encoding
*/
CONTENT_ENCODING("Content-Encoding"),
/**