Skip to content

Commit 8bfbb6f

Browse files
committed
Added more convenience methods to classic request / response builders
1 parent b435a0b commit 8bfbb6f

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

httpcore5/src/main/java/org/apache/hc/core5/http/io/support/ClassicRequestBuilder.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
import org.apache.hc.core5.http.Header;
4040
import org.apache.hc.core5.http.HttpEntity;
4141
import org.apache.hc.core5.http.HttpHost;
42+
import org.apache.hc.core5.http.HttpRequest;
4243
import org.apache.hc.core5.http.Method;
4344
import org.apache.hc.core5.http.NameValuePair;
4445
import org.apache.hc.core5.http.ProtocolVersion;
@@ -241,6 +242,16 @@ public static ClassicRequestBuilder copy(final ClassicHttpRequest request) {
241242
return builder;
242243
}
243244

245+
/**
246+
* @since 5.4
247+
*/
248+
public static ClassicRequestBuilder copy(final HttpRequest request) {
249+
Args.notNull(request, "HTTP request");
250+
final ClassicRequestBuilder builder = new ClassicRequestBuilder(request.getMethod());
251+
builder.digest(request);
252+
return builder;
253+
}
254+
244255
protected void digest(final ClassicHttpRequest request) {
245256
super.digest(request);
246257
setEntity(request.getEntity());

httpcore5/src/main/java/org/apache/hc/core5/http/io/support/ClassicResponseBuilder.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import org.apache.hc.core5.http.ContentType;
3434
import org.apache.hc.core5.http.Header;
3535
import org.apache.hc.core5.http.HttpEntity;
36+
import org.apache.hc.core5.http.HttpResponse;
3637
import org.apache.hc.core5.http.ProtocolVersion;
3738
import org.apache.hc.core5.http.io.entity.ByteArrayEntity;
3839
import org.apache.hc.core5.http.io.entity.StringEntity;
@@ -68,6 +69,16 @@ public static ClassicResponseBuilder copy(final ClassicHttpResponse response) {
6869
return builder;
6970
}
7071

72+
/**
73+
* @since 5.4
74+
*/
75+
public static ClassicResponseBuilder copy(final HttpResponse response) {
76+
Args.notNull(response, "HTTP response");
77+
final ClassicResponseBuilder builder = new ClassicResponseBuilder(response.getCode());
78+
builder.digest(response);
79+
return builder;
80+
}
81+
7182
protected void digest(final ClassicHttpResponse response) {
7283
super.digest(response);
7384
setEntity(response.getEntity());

0 commit comments

Comments
 (0)