org.apache.http.message

## Class BasicHttpResponse

- java.lang.Object
- - org.apache.http.message.AbstractHttpMessage
  - - org.apache.http.message.BasicHttpResponse

All Implemented Interfaces:
  HttpMessage, HttpResponse

    @NotThreadSafe
    public class BasicHttpResponse
    extends AbstractHttpMessage
    implements HttpResponse

Basic implementation of `HttpResponse`.

Since:
  4.0
See Also:
  `DefaultHttpResponseFactory`

### Field Summary

### Fields inherited from class org.apache.http.message.AbstractHttpMessage

`headergroup, params`

### Constructor Summary

Constructors
Constructor and Description
`BasicHttpResponse(ProtocolVersion ver, int code, String reason)` Creates a response from elements of a status line.
`BasicHttpResponse(StatusLine statusline)` Creates a response from a status line.
`BasicHttpResponse(StatusLine statusline, ReasonPhraseCatalog catalog, Locale locale)` Deprecated. (4.3) use `DefaultHttpRequestFactory`

### Method Summary

Methods
`HttpEntity` `getEntity()` Obtains the message entity of this response, if any.
`Locale` `getLocale()` Deprecated. (4.3) use `DefaultHttpRequestFactory`
`ProtocolVersion` `getProtocolVersion()` Returns the protocol version this message is compatible with.
`protected String` `getReason(int code)` Deprecated. (4.3) use `DefaultHttpRequestFactory`
`StatusLine` `getStatusLine()` Obtains the status line of this response.
`void` `setEntity(HttpEntity entity)` Associates a response entity with this response.
`void` `setLocale(Locale locale)` Deprecated. (4.3) use `DefaultHttpRequestFactory`
`void` `setReasonPhrase(String reason)` Updates the status line of this response with a new reason phrase.
`void` `setStatusCode(int code)` Updates the status line of this response with a new status code.
`void` `setStatusLine(ProtocolVersion ver, int code)` Sets the status line of this response.
`void` `setStatusLine(ProtocolVersion ver, int code, String reason)` Sets the status line of this response with a reason phrase.
`void` `setStatusLine(StatusLine statusline)` Sets the status line of this response.
`String` `toString()`

### Methods inherited from class org.apache.http.message.AbstractHttpMessage

`addHeader, addHeader, containsHeader, getAllHeaders, getFirstHeader, getHeaders, getLastHeader, getParams, headerIterator, headerIterator, removeHeader, removeHeaders, setHeader, setHeader, setHeaders, setParams`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.apache.http.HttpMessage

`addHeader, addHeader, containsHeader, getAllHeaders, getFirstHeader, getHeaders, getLastHeader, getParams, headerIterator, headerIterator, removeHeader, removeHeaders, setHeader, setHeader, setHeaders, setParams`

### Constructor Detail

#### BasicHttpResponse

    @Deprecated
    public BasicHttpResponse(StatusLine statusline,
                                ReasonPhraseCatalog catalog,
                                Locale locale)

Deprecated. (4.3) use `DefaultHttpRequestFactory`
Creates a new response. This is the constructor to which all others map.

Parameters:
  `statusline` - the status line
  `catalog` - the reason phrase catalog, or `null` to disable automatic reason phrase lookup
  `locale` - the locale for looking up reason phrases, or `null` for the system locale

#### BasicHttpResponse

    public BasicHttpResponse(StatusLine statusline)

Creates a response from a status line. The response will not have a reason phrase catalog and use the system default locale.

Parameters:
  `statusline` - the status line

#### BasicHttpResponse

    public BasicHttpResponse(ProtocolVersion ver,
                     int code,
                     String reason)

Creates a response from elements of a status line. The response will not have a reason phrase catalog and use the system default locale.

Parameters:
  `ver` - the protocol version of the response
  `code` - the status code of the response
  `reason` - the reason phrase to the status code, or `null`

### Method Detail

#### getProtocolVersion

    public ProtocolVersion getProtocolVersion()

Description copied from interface: `HttpMessage`
Returns the protocol version this message is compatible with.

Specified by:
  `getProtocolVersion` in interface `HttpMessage`

#### getStatusLine

    public StatusLine getStatusLine()

Description copied from interface: `HttpResponse`
Obtains the status line of this response. The status line can be set using one of the `setStatusLine` methods, or it can be initialized in a constructor.

Specified by:
  `getStatusLine` in interface `HttpResponse`
Returns:
  the status line, or `null` if not yet set

#### getEntity

    public HttpEntity getEntity()

Description copied from interface: `HttpResponse`
Obtains the message entity of this response, if any. The entity is provided by calling `setEntity`.

Specified by:
  `getEntity` in interface `HttpResponse`
Returns:
  the response entity, or `null` if there is none

#### getLocale

    @Deprecated
    public Locale getLocale()

Deprecated. (4.3) use `DefaultHttpRequestFactory`
Description copied from interface: `HttpResponse`
Obtains the locale of this response. The locale is used to determine the reason phrase for the `status code`. It can be changed using `setLocale`.

Specified by:
  `getLocale` in interface `HttpResponse`
Returns:
  the locale of this response, never `null`

#### setStatusLine

    public void setStatusLine(StatusLine statusline)

Description copied from interface: `HttpResponse`
Sets the status line of this response.

Specified by:
  `setStatusLine` in interface `HttpResponse`
Parameters:
  `statusline` - the status line of this response

#### setStatusLine

    public void setStatusLine(ProtocolVersion ver,
                     int code)

Description copied from interface: `HttpResponse`
Sets the status line of this response. The reason phrase will be determined based on the current `locale`.

Specified by:
  `setStatusLine` in interface `HttpResponse`
Parameters:
  `ver` - the HTTP version
  `code` - the status code

#### setStatusLine

    public void setStatusLine(ProtocolVersion ver,
                     int code,
                     String reason)

Description copied from interface: `HttpResponse`
Sets the status line of this response with a reason phrase.

Specified by:
  `setStatusLine` in interface `HttpResponse`
Parameters:
  `ver` - the HTTP version
  `code` - the status code
  `reason` - the reason phrase, or `null` to omit

#### setStatusCode

    public void setStatusCode(int code)

Description copied from interface: `HttpResponse`
Updates the status line of this response with a new status code. The status line can only be updated if it is available. It must have been set either explicitly or in a constructor.
The reason phrase will be updated according to the new status code, based on the current `locale`. It can be set explicitly using `setReasonPhrase`.

Specified by:
  `setStatusCode` in interface `HttpResponse`
Parameters:
  `code` - the HTTP status code.
See Also:
  `HttpStatus`, `HttpResponse.setStatusLine(StatusLine)`, `HttpResponse.setStatusLine(ProtocolVersion,int)`

#### setReasonPhrase

    public void setReasonPhrase(String reason)

Description copied from interface: `HttpResponse`
Updates the status line of this response with a new reason phrase. The status line can only be updated if it is available. It must have been set either explicitly or in a constructor.

Specified by:
  `setReasonPhrase` in interface `HttpResponse`
Parameters:
  `reason` - the new reason phrase as a single-line string, or `null` to unset the reason phrase
See Also:
  `HttpResponse.setStatusLine(StatusLine)`, `HttpResponse.setStatusLine(ProtocolVersion,int)`

#### setEntity

    public void setEntity(HttpEntity entity)

Description copied from interface: `HttpResponse`
Associates a response entity with this response.

Please note that if an entity has already been set for this response and it depends on an input stream (`HttpEntity.isStreaming()` returns `true`), it must be fully consumed in order to ensure release of resources.

Specified by:
  `setEntity` in interface `HttpResponse`
Parameters:
  `entity` - the entity to associate with this response, or `null` to unset
See Also:
  `HttpEntity.isStreaming()`, `EntityUtils.updateEntity(HttpResponse, HttpEntity)`

#### setLocale

    @Deprecated
    public void setLocale(Locale locale)

Deprecated. (4.3) use `DefaultHttpRequestFactory`
Description copied from interface: `HttpResponse`
Changes the locale of this response. If there is a status line, it's reason phrase will be updated according to the status code and new locale.

Specified by:
  `setLocale` in interface `HttpResponse`
Parameters:
  `locale` - the new locale

#### getReason

    @Deprecated
    protected String getReason(int code)

Deprecated. (4.3) use `DefaultHttpRequestFactory`
Looks up a reason phrase. This method evaluates the currently set catalog and locale. It also handles a missing catalog.

Parameters:
  `code` - the status code for which to look up the reason
Returns:
  the reason phrase, or `null` if there is none

#### toString

    public String toString()

Overrides:
  `toString` in class `Object`