Cache request line in HttpRequestWrapper
Contributed by Dmitry Potapov <dpotapov at yandex-team.ru> git-svn-id: https://svn.apache.org/repos/asf/httpcomponents/httpclient/branches/4.5.x@1683475 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
ea21ed26a7
commit
20e3f42df2
|
@ -56,6 +56,7 @@ public class HttpRequestWrapper extends AbstractHttpMessage implements HttpUriRe
|
|||
private final HttpRequest original;
|
||||
private final HttpHost target;
|
||||
private final String method;
|
||||
private RequestLine requestLine;
|
||||
private ProtocolVersion version;
|
||||
private URI uri;
|
||||
|
||||
|
@ -80,6 +81,7 @@ public class HttpRequestWrapper extends AbstractHttpMessage implements HttpUriRe
|
|||
|
||||
public void setProtocolVersion(final ProtocolVersion version) {
|
||||
this.version = version;
|
||||
this.requestLine = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -89,6 +91,7 @@ public class HttpRequestWrapper extends AbstractHttpMessage implements HttpUriRe
|
|||
|
||||
public void setURI(final URI uri) {
|
||||
this.uri = uri;
|
||||
this.requestLine = null;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -108,16 +111,19 @@ public class HttpRequestWrapper extends AbstractHttpMessage implements HttpUriRe
|
|||
|
||||
@Override
|
||||
public RequestLine getRequestLine() {
|
||||
String requestUri = null;
|
||||
if (this.uri != null) {
|
||||
requestUri = this.uri.toASCIIString();
|
||||
} else {
|
||||
requestUri = this.original.getRequestLine().getUri();
|
||||
if (this.requestLine == null) {
|
||||
String requestUri;
|
||||
if (this.uri != null) {
|
||||
requestUri = this.uri.toASCIIString();
|
||||
} else {
|
||||
requestUri = this.original.getRequestLine().getUri();
|
||||
}
|
||||
if (requestUri == null || requestUri.isEmpty()) {
|
||||
requestUri = "/";
|
||||
}
|
||||
this.requestLine = new BasicRequestLine(this.method, requestUri, getProtocolVersion());
|
||||
}
|
||||
if (requestUri == null || requestUri.isEmpty()) {
|
||||
requestUri = "/";
|
||||
}
|
||||
return new BasicRequestLine(this.method, requestUri, getProtocolVersion());
|
||||
return this.requestLine;
|
||||
}
|
||||
|
||||
public HttpRequest getOriginal() {
|
||||
|
|
Loading…
Reference in New Issue