72 lines
1.6 KiB
Java
72 lines
1.6 KiB
Java
package com.imyeyu.network;
|
|
|
|
import lombok.AccessLevel;
|
|
import lombok.AllArgsConstructor;
|
|
import org.apache.hc.client5.http.fluent.Request;
|
|
import org.apache.hc.core5.util.Timeout;
|
|
|
|
import java.io.IOException;
|
|
import java.io.InputStream;
|
|
|
|
/**
|
|
* @author 夜雨
|
|
* @since 2025-07-15 14:27
|
|
*/
|
|
@AllArgsConstructor(access = AccessLevel.PROTECTED)
|
|
public class CommonRequest {
|
|
|
|
protected final Request request;
|
|
|
|
public static CommonRequest wrap(Request request) {
|
|
return new CommonRequest(request);
|
|
}
|
|
|
|
public static CommonRequest get(String url) {
|
|
return new CommonRequest(Request.get(url));
|
|
}
|
|
|
|
public static CommonRequest post(String url) {
|
|
return new CommonRequest(Request.post(url));
|
|
}
|
|
|
|
public CommonRequest timeout(long ms) {
|
|
request.connectTimeout(Timeout.ofMilliseconds(ms)).responseTimeout(Timeout.ofMilliseconds(ms));
|
|
return this;
|
|
}
|
|
|
|
public CommonRequest header(String key, String value) {
|
|
request.addHeader(key, value);
|
|
return this;
|
|
}
|
|
|
|
public CommonRequest token(String token) {
|
|
request.addHeader("Token", token);
|
|
return this;
|
|
}
|
|
|
|
public CommonRequest language(String langHeader) {
|
|
request.addHeader("Accept-Language", langHeader);
|
|
return this;
|
|
}
|
|
|
|
public String asString() throws IOException {
|
|
return request.execute().returnContent().asString();
|
|
}
|
|
|
|
public Number asNumber() throws IOException {
|
|
return Double.parseDouble(asString());
|
|
}
|
|
|
|
public byte[] asBytes() throws IOException {
|
|
return request.execute().returnContent().asBytes();
|
|
}
|
|
|
|
public InputStream asStream() throws IOException {
|
|
return request.execute().returnContent().asStream();
|
|
}
|
|
|
|
public void execute() throws IOException {
|
|
request.execute();
|
|
}
|
|
}
|