Index: HttpMethodBase.java
===================================================================
--- HttpMethodBase.java (revision 390815)
+++ HttpMethodBase.java (working copy)
@@ -563,7 +563,7 @@
* @return the status code associated with the latest response.
*/
public int getStatusCode() {
- return statusLine.getStatusCode();
+ return getStatusLine().getStatusCode();
}
/**
@@ -577,6 +577,13 @@
}
/**
+ * @param statusLine The statusLine to set.
+ */
+ protected final void setStatusLine(StatusLine statusLine) {
+ this.statusLine = statusLine;
+ }
+
+ /**
* Checks if response data is available.
* @return true if response data is available, false otherwise.
*/
@@ -798,7 +805,7 @@
* @return The status text.
*/
public String getStatusText() {
- return statusLine.getReasonPhrase();
+ return getStatusLine().getReasonPhrase();
}
/**
@@ -920,16 +927,16 @@
}
LOG.debug("Resorting to protocol version default close connection policy");
// missing or invalid connection header, do the default
- if (this.effectiveVersion.greaterEquals(HttpVersion.HTTP_1_1)) {
+ if (getEffectiveVersion().greaterEquals(HttpVersion.HTTP_1_1)) {
if (LOG.isDebugEnabled()) {
- LOG.debug("Should NOT close connection, using " + this.effectiveVersion.toString());
+ LOG.debug("Should NOT close connection, using " + getEffectiveVersion().toString());
}
} else {
if (LOG.isDebugEnabled()) {
- LOG.debug("Should close connection, using " + this.effectiveVersion.toString());
+ LOG.debug("Should close connection, using " + getEffectiveVersion().toString());
}
}
- return this.effectiveVersion.lessEquals(HttpVersion.HTTP_1_0);
+ return getEffectiveVersion().lessEquals(HttpVersion.HTTP_1_0);
}
/**
@@ -980,14 +987,14 @@
this.responseConnection = conn;
checkExecuteConditions(state, conn);
- this.statusLine = null;
+ setStatusLine(null);
this.connectionCloseForced = false;
conn.setLastResponseInputStream(null);
// determine the effective protocol version
- if (this.effectiveVersion == null) {
- this.effectiveVersion = this.params.getVersion();
+ if (getEffectiveVersion() == null) {
+ setEffectiveVersion(this.params.getVersion());
}
writeRequest(state, conn);
@@ -996,7 +1003,7 @@
// the method has successfully executed
used = true;
- return statusLine.getStatusCode();
+ return getStatusCode();
}
/**
@@ -1048,8 +1055,8 @@
getRequestHeaderGroup().clear();
getResponseHeaderGroup().clear();
getResponseTrailerHeaderGroup().clear();
- statusLine = null;
- effectiveVersion = null;
+ setStatusLine(null);
+ setEffectiveVersion(null);
aborted = false;
used = false;
params = new HttpMethodParams();
@@ -1586,18 +1593,18 @@
"enter HttpMethodBase.readResponse(HttpState, HttpConnection)");
// Status line & line may have already been received
// if 'expect - continue' handshake has been used
- while (this.statusLine == null) {
+ while (getStatusLine() == null) {
readStatusLine(state, conn);
processStatusLine(state, conn);
readResponseHeaders(state, conn);
processResponseHeaders(state, conn);
- int status = this.statusLine.getStatusCode();
+ int status = getStatusCode();
if ((status >= 100) && (status < 200)) {
if (LOG.isInfoEnabled()) {
- LOG.info("Discarding unexpected response: " + this.statusLine.toString());
+ LOG.info("Discarding unexpected response: " + getStatusLine().toString());
}
- this.statusLine = null;
+ setStatusLine(null);
}
}
readResponseBody(state, conn);
@@ -1675,7 +1682,7 @@
if (Wire.CONTENT_WIRE.enabled()) {
is = new WireLogInputStream(is, Wire.CONTENT_WIRE);
}
- boolean canHaveBody = canResponseHaveBody(statusLine.getStatusCode());
+ boolean canHaveBody = canResponseHaveBody(getStatusCode());
InputStream result = null;
Header transferEncodingHeader = responseHeaders.getFirstHeader("Transfer-Encoding");
// We use Transfer-Encoding if present and ignore Content-Length.
@@ -1714,7 +1721,7 @@
} else {
long expectedLength = getResponseContentLength();
if (expectedLength == -1) {
- if (canHaveBody && this.effectiveVersion.greaterEquals(HttpVersion.HTTP_1_1)) {
+ if (canHaveBody && getEffectiveVersion().greaterEquals(HttpVersion.HTTP_1_1)) {
Header connectionHeader = responseHeaders.getFirstHeader("Connection");
String connectionDirective = null;
if (connectionHeader != null) {
@@ -1850,19 +1857,19 @@
} while(true);
//create the status line from the status string
- statusLine = new StatusLine(s);
+ setStatusLine(new StatusLine(s));
//check for a valid HTTP-Version
- String versionStr = statusLine.getHttpVersion();
+ String versionStr = getStatusLine().getHttpVersion();
if (getParams().isParameterFalse(HttpMethodParams.UNAMBIGUOUS_STATUS_LINE)
&& versionStr.equals("HTTP")) {
getParams().setVersion(HttpVersion.HTTP_1_0);
if (LOG.isWarnEnabled()) {
LOG.warn("Ambiguous status line (HTTP protocol version missing):" +
- statusLine.toString());
+ getStatusLine().toString());
}
} else {
- this.effectiveVersion = HttpVersion.parse(versionStr);
+ setEffectiveVersion(HttpVersion.parse(versionStr));
}
}
@@ -1943,9 +1950,9 @@
readResponseHeaders(state, conn);
processResponseHeaders(state, conn);
- if (this.statusLine.getStatusCode() == HttpStatus.SC_CONTINUE) {
+ if (getStatusCode() == HttpStatus.SC_CONTINUE) {
// Discard status line
- this.statusLine = null;
+ setStatusLine(null);
LOG.debug("OK to continue received");
} else {
return;
@@ -2087,7 +2094,7 @@
*/
private String getRequestLine(HttpConnection conn) {
return HttpMethodBase.generateRequestLine(conn, getName(),
- getPath(), getQueryString(), this.effectiveVersion.toString());
+ getPath(), getQueryString(), getEffectiveVersion().toString());
}
/**
@@ -2128,6 +2135,13 @@
}
/**
+ * @param effectiveVersion The effectiveVersion to set.
+ */
+ protected final void setEffectiveVersion(HttpVersion effectiveVersion) {
+ this.effectiveVersion = effectiveVersion;
+ }
+
+ /**
* Per RFC 2616 section 4.3, some response can never contain a message
* body.
*
@@ -2358,7 +2372,7 @@
) {
// set used so that the response can be read
this.used = true;
- this.statusLine = statusline;
+ setStatusLine(statusline);
this.responseHeaders = responseheaders;
this.responseBody = null;
this.responseStream = responseStream;