t.w.c.Response : class documentation

Part of twisted.web.client View Source View In Hierarchy

A Response instance describes an HTTP response received from an HTTP server.

Response should not be subclassed or instantiated.
Instance VariablesversionA three-tuple describing the protocol and protocol version of the response. The first element is of type str, the second and third are of type int. For example, ('HTTP', 1, 1). (type: tuple )
codeThe HTTP status code of this response. (type: int )
phraseThe HTTP reason phrase of this response. (type: str )
headersThe HTTP response headers of this response. (type: Headers )
lengthThe number of bytes expected to be in the body of this response or UNKNOWN_LENGTH if the server did not indicate how many bytes to expect. For HEAD responses, this will be 0; if the response includes a Content-Length header, it will be available in headers. (type: int or something else )
_transportThe transport which is delivering this response.
_bodyProtocolThe IProtocol provider to which the body is delivered. None before one has been registered with deliverBody.
_bodyBufferA list of the strings passed to bodyDataReceived before deliverBody is called. None afterwards.
_stateIndicates what state this Response instance is in, particularly with respect to delivering bytes from the response body to an application-suppled protocol object. This may be one of 'INITIAL', 'CONNECTED', 'DEFERRED_CLOSE', or 'FINISHED', with the following meanings:
  • INITIAL: This is the state Response objects start in. No protocol has yet been provided and the underlying transport may still have bytes to deliver to it.
  • DEFERRED_CLOSE: If the underlying transport indicates all bytes have been delivered but no application-provided protocol is yet available, the Response moves to this state. Data is buffered and waiting for a protocol to be delivered to.
  • CONNECTED: If a protocol is provided when the state is INITIAL, the Response moves to this state. Any buffered data is delivered and any data which arrives from the transport subsequently is given directly to the protocol.
  • FINISHED: If a protocol is provided in the DEFERRED_CLOSE state, the Response moves to this state after delivering all buffered data to the protocol. Otherwise, if the Response is in the CONNECTED state, if the transport indicates there is no more data, the Response moves to this state. Nothing else can happen once the Response is in this state.
Method __init__ Undocumented
Method deliverBody Register an IProtocol provider to receive the response body.
Method _deliverBody_INITIAL Deliver any buffered data to protocol and prepare to deliver any future data to it. Move to the 'CONNECTED' state.
Method _deliverBody_CONNECTED It is invalid to attempt to deliver data to a protocol when it is already being delivered to another protocol.
Method _deliverBody_DEFERRED_CLOSE Deliver any buffered data to protocol and then disconnect the protocol. Move to the 'FINISHED' state.
Method _deliverBody_FINISHED It is invalid to attempt to deliver data to a protocol after the response body has been delivered to another protocol.
Method _bodyDataReceived Called by HTTPClientParser with chunks of data from the response body. They will be buffered or delivered to the protocol passed to deliverBody.
Method _bodyDataReceived_INITIAL Buffer any data received for later delivery to a protocol passed to deliverBody.
Method _bodyDataReceived_CONNECTED Deliver any data received to the protocol to which this Response is connected.
Method _bodyDataReceived_DEFERRED_CLOSE It is invalid for data to be delivered after it has been indicated that the response body has been completely delivered.
Method _bodyDataReceived_FINISHED It is invalid for data to be delivered after the response bofdy has been delivered to a protocol.
Method _bodyDataFinished Called by HTTPClientParser when no more body data is available. If the optional reason is supplied, this indicates a problem or potential problem receiving all of the response body.
Method _bodyDataFinished_INITIAL Move to the 'DEFERRED_CLOSE' state to wait for a protocol to which to deliver the response body.
Method _bodyDataFinished_CONNECTED Disconnect the protocol and move to the 'FINISHED' state.
Method _bodyDataFinished_DEFERRED_CLOSE It is invalid to attempt to notify the Response of the end of the response body data more than once.
Method _bodyDataFinished_FINISHED It is invalid to attempt to notify the Response of the end of the response body data more than once.
def __init__(self, version, code, phrase, headers, _transport): (source)
Undocumented
def deliverBody(self, protocol): (source)

Register an IProtocol provider to receive the response body.

The protocol will be connected to a transport which provides IPushProducer. The protocol's connectionLost method will be called with:
  • ResponseDone, which indicates that all bytes from the response have been successfully delivered.
  • PotentialDataLoss, which indicates that it cannot be determined if the entire response body has been delivered. This only occurs when making requests to HTTP servers which do not set Content-Length or a Transfer-Encoding in the response.
  • ResponseFailed, which indicates that some bytes from the response were lost. The reasons attribute of the exception may provide more specific indications as to why.
def _deliverBody_INITIAL(self, protocol): (source)
Deliver any buffered data to protocol and prepare to deliver any future data to it. Move to the 'CONNECTED' state.
def _deliverBody_CONNECTED(self, protocol): (source)
It is invalid to attempt to deliver data to a protocol when it is already being delivered to another protocol.
def _deliverBody_DEFERRED_CLOSE(self, protocol): (source)
Deliver any buffered data to protocol and then disconnect the protocol. Move to the 'FINISHED' state.
def _deliverBody_FINISHED(self, protocol): (source)
It is invalid to attempt to deliver data to a protocol after the response body has been delivered to another protocol.
def _bodyDataReceived(self, data): (source)
Called by HTTPClientParser with chunks of data from the response body. They will be buffered or delivered to the protocol passed to deliverBody.
def _bodyDataReceived_INITIAL(self, data): (source)

Buffer any data received for later delivery to a protocol passed to deliverBody.

Little or no data should be buffered by this method, since the transport has been paused and will not be resumed until a protocol is supplied.
def _bodyDataReceived_CONNECTED(self, data): (source)
Deliver any data received to the protocol to which this Response is connected.
def _bodyDataReceived_DEFERRED_CLOSE(self, data): (source)
It is invalid for data to be delivered after it has been indicated that the response body has been completely delivered.
def _bodyDataReceived_FINISHED(self, data): (source)
It is invalid for data to be delivered after the response bofdy has been delivered to a protocol.
def _bodyDataFinished(self, reason=None): (source)
Called by HTTPClientParser when no more body data is available. If the optional reason is supplied, this indicates a problem or potential problem receiving all of the response body.
def _bodyDataFinished_INITIAL(self, reason=None): (source)
Move to the 'DEFERRED_CLOSE' state to wait for a protocol to which to deliver the response body.
def _bodyDataFinished_CONNECTED(self, reason=None): (source)
Disconnect the protocol and move to the 'FINISHED' state.
def _bodyDataFinished_DEFERRED_CLOSE(self): (source)
It is invalid to attempt to notify the Response of the end of the response body data more than once.
def _bodyDataFinished_FINISHED(self): (source)
It is invalid to attempt to notify the Response of the end of the response body data more than once.
API Documentation for Twisted, generated by pydoctor at 2011-10-27 16:27:37.