From 3cfffc3e8d14b2eab7d07190db5fd86762f649b7 Mon Sep 17 00:00:00 2001 From: Timi Date: Thu, 23 Jul 2026 15:10:36 +0800 Subject: [PATCH 1/2] fix nullable header/timeout/url arg --- src/main/java/com/imyeyu/network/ArgMap.java | 43 +++++++++---------- .../com/imyeyu/network/CommonRequest.java | 15 ++++--- .../java/com/imyeyu/network/FileRequest.java | 6 +-- .../com/imyeyu/network/JacksonRequest.java | 8 ++-- .../imyeyu/network/ProgressiveRequest.java | 6 +-- .../java/com/imyeyu/network/TimiRequest.java | 6 +-- 6 files changed, 43 insertions(+), 41 deletions(-) diff --git a/src/main/java/com/imyeyu/network/ArgMap.java b/src/main/java/com/imyeyu/network/ArgMap.java index 22127ae..091719f 100644 --- a/src/main/java/com/imyeyu/network/ArgMap.java +++ b/src/main/java/com/imyeyu/network/ArgMap.java @@ -1,5 +1,6 @@ package com.imyeyu.network; +import com.imyeyu.java.TimiJava; import com.imyeyu.utils.Encoder; import org.apache.hc.client5.http.entity.mime.MultipartEntityBuilder; import org.apache.hc.client5.http.fluent.Form; @@ -29,7 +30,7 @@ public class ArgMap { private final List> entries = new ArrayList<>(); /** - * 追加一个参数。 + * 追加一个参数 * * @param key 参数名 * @param value 参数值 @@ -41,7 +42,7 @@ public class ArgMap { } /** - * 按插入顺序遍历全部参数。 + * 按插入顺序遍历全部参数 * * @param consumer 处理逻辑 */ @@ -50,29 +51,29 @@ public class ArgMap { } /** - * 按插入顺序遍历全部非空参数。 + * 按插入顺序遍历全部非空参数 * * @param consumer 处理逻辑 */ private void forEachNonNull(BiConsumer consumer) { entries.forEach(entry -> { - if (entry.getValue() != null) { + if (TimiJava.isNotEmpty(entry.getValue())) { consumer.accept(entry.getKey(), entry.getValue()); } }); } /** - * 是否存在可输出的非空参数。 + * 是否存在可输出的非空参数 * - * @return 是否存在非空参数 + * @return true 为存在非空参数 */ private boolean hasNonNullValue() { - return entries.stream().anyMatch(entry -> entry.getValue() != null); + return entries.stream().anyMatch(entry -> TimiJava.isNotEmpty(entry.getValue())); } /** - * 返回参数数量。 + * 参数数量 * * @return 参数数量 */ @@ -81,23 +82,21 @@ public class ArgMap { } /** - * 判断参数列表是否为空。 + * 判断参数列表是否为空 * - * @return 是否为空 + * @return true 为空 */ public boolean isEmpty() { return entries.isEmpty(); } - /** - * 清空全部参数。 - */ + /** 清空全部参数 */ public void clear() { entries.clear(); } /** - * 返回只读参数视图。 + * 返回只读参数视图 * * @return 参数条目列表 */ @@ -106,7 +105,7 @@ public class ArgMap { } /** - * 转换为 multipart 实体。 + * 转换为 multipart 实体 * * @return multipart 请求体 */ @@ -125,7 +124,7 @@ public class ArgMap { } /** - * 转换为表单参数列表。 + * 转换为表单参数列表 * * @return 表单参数列表 */ @@ -136,9 +135,9 @@ public class ArgMap { } /** - * 转换为 query string。 + * 转换为 URL 查询参数 * - * @return query string + * @return URL 查询参数 */ public String toURL() { if (!hasNonNullValue()) { @@ -151,7 +150,7 @@ public class ArgMap { } /** - * 将参数拼接到指定 URL。 + * 将参数拼接到指定 URL * * @param url 原始 URL * @return 拼接后的 URL @@ -173,7 +172,7 @@ public class ArgMap { } /** - * 使用一组参数创建对象。 + * 使用一组参数创建对象 * * @param key 参数名 * @param value 参数值 @@ -186,7 +185,7 @@ public class ArgMap { } /** - * 使用两组参数创建对象。 + * 使用两组参数创建对象 * * @param key1 参数名 1 * @param value1 参数值 1 @@ -201,7 +200,7 @@ public class ArgMap { } /** - * 使用三组参数创建对象。 + * 使用三组参数创建对象 * * @param key1 参数名 1 * @param value1 参数值 1 diff --git a/src/main/java/com/imyeyu/network/CommonRequest.java b/src/main/java/com/imyeyu/network/CommonRequest.java index ebb39b5..d6690a0 100644 --- a/src/main/java/com/imyeyu/network/CommonRequest.java +++ b/src/main/java/com/imyeyu/network/CommonRequest.java @@ -1,5 +1,6 @@ package com.imyeyu.network; +import com.imyeyu.java.TimiJava; import org.apache.hc.client5.http.fluent.Request; import org.apache.hc.core5.http.HttpEntity; import org.apache.hc.core5.util.Timeout; @@ -32,23 +33,25 @@ public class CommonRequest { } public CommonRequest timeout(long ms) { - request.connectTimeout(Timeout.ofMilliseconds(ms)).responseTimeout(Timeout.ofMilliseconds(ms)); + if (0 < ms) { + request.connectTimeout(Timeout.ofMilliseconds(ms)).responseTimeout(Timeout.ofMilliseconds(ms)); + } return this; } public CommonRequest header(String key, String value) { - request.addHeader(key, value); + if (TimiJava.isNotEmpty(value)) { + request.addHeader(key, value); + } return this; } public CommonRequest token(String token) { - request.addHeader("Token", token); - return this; + return header("Token", token); } public CommonRequest language(String langHeader) { - request.addHeader("Accept-Language", langHeader); - return this; + return header("Accept-Language", langHeader); } public CommonRequest bodyEntity(HttpEntity entity) { diff --git a/src/main/java/com/imyeyu/network/FileRequest.java b/src/main/java/com/imyeyu/network/FileRequest.java index 43acc83..642442c 100644 --- a/src/main/java/com/imyeyu/network/FileRequest.java +++ b/src/main/java/com/imyeyu/network/FileRequest.java @@ -43,19 +43,19 @@ public class FileRequest extends JacksonRequest { @Override public FileRequest header(String key, String value) { - request.addHeader(key, value); + super.header(key, value); return this; } @Override public FileRequest token(String token) { - request.addHeader("Token", token); + super.token(token); return this; } @Override public FileRequest language(String langHeader) { - request.addHeader("Accept-Language", langHeader); + super.language(langHeader); return this; } diff --git a/src/main/java/com/imyeyu/network/JacksonRequest.java b/src/main/java/com/imyeyu/network/JacksonRequest.java index ab1f8d5..8d9a0ea 100644 --- a/src/main/java/com/imyeyu/network/JacksonRequest.java +++ b/src/main/java/com/imyeyu/network/JacksonRequest.java @@ -99,24 +99,24 @@ public class JacksonRequest extends CommonRequest { @Override public JacksonRequest header(String key, String value) { - request.addHeader(key, value); + super.header(key, value); return this; } @Override public JacksonRequest token(String token) { - request.addHeader("Token", token); + super.token(token); return this; } @Override public JacksonRequest language(String langHeader) { - request.addHeader("Accept-Language", langHeader); + super.language(langHeader); return this; } /** - * 设置 JSON 请求体。 + * 设置 JSON 请求体 * * @param object 要序列化的对象 * @return 当前请求 diff --git a/src/main/java/com/imyeyu/network/ProgressiveRequest.java b/src/main/java/com/imyeyu/network/ProgressiveRequest.java index 539669b..e0639c6 100644 --- a/src/main/java/com/imyeyu/network/ProgressiveRequest.java +++ b/src/main/java/com/imyeyu/network/ProgressiveRequest.java @@ -50,19 +50,19 @@ public class ProgressiveRequest extends FileRequest { @Override public ProgressiveRequest header(String key, String value) { - request.addHeader(key, value); + super.header(key, value); return this; } @Override public ProgressiveRequest token(String token) { - request.addHeader("Token", token); + super.token(token); return this; } @Override public ProgressiveRequest language(String langHeader) { - request.addHeader("Accept-Language", langHeader); + super.language(langHeader); return this; } diff --git a/src/main/java/com/imyeyu/network/TimiRequest.java b/src/main/java/com/imyeyu/network/TimiRequest.java index 2896582..3400124 100644 --- a/src/main/java/com/imyeyu/network/TimiRequest.java +++ b/src/main/java/com/imyeyu/network/TimiRequest.java @@ -39,19 +39,19 @@ public class TimiRequest extends JacksonRequest { @Override public TimiRequest header(String key, String value) { - request.addHeader(key, value); + super.header(key, value); return this; } @Override public TimiRequest token(String token) { - request.addHeader("Token", token); + super.token(token); return this; } @Override public TimiRequest language(String langHeader) { - request.addHeader("Accept-Language", langHeader); + super.language(langHeader); return this; } From 2763e0d091f2bf8cce6bbbea5fb4c3444ed0429e Mon Sep 17 00:00:00 2001 From: Timi Date: Thu, 23 Jul 2026 15:10:44 +0800 Subject: [PATCH 2/2] v0.0.13 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 6d922f1..c71d81a 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.imyeyu.network timi-network - 0.0.12 + 0.0.13 jar