class documentation

class RedirectAgent: (source)

Known subclasses: twisted.web.client.BrowserLikeRedirectAgent

Implements interfaces: twisted.web.iweb.IAgent

View In Hierarchy

An Agent wrapper which handles HTTP redirects.

The implementation is rather strict: 301 and 302 behaves like 307, not redirecting automatically on methods different from GET and HEAD.

See BrowserLikeRedirectAgent for a redirecting Agent that behaves more like a web browser.

Parameters
redirectLimitThe maximum number of times the agent is allowed to follow redirects before failing with a error.InfiniteRedirection.
sensitiveHeaderNamesAn iterable of bytes enumerating the names of headers that must not be transmitted when redirecting to a different origins. These will be consulted in addition to the protocol-specified set of headers that contain sensitive information.
Present Since
11.1
Method __init__ Undocumented
Method request Send a client request following HTTP redirects.
Method _handleRedirect Handle a redirect response, checking the number of redirects already followed, and extracting the location header fields.
Method _handleResponse Handle the response, making another request if it indicates a redirect.
Method _resolveLocation Resolve the redirect location against the request URI.
Class Variable _redirectResponses A list of HTTP status codes to be redirected for GET and HEAD methods.
Class Variable _seeOtherResponses A list of HTTP status codes to be redirected for any method and the method altered to GET.
Instance Variable _agent Undocumented
Instance Variable _redirectLimit Undocumented
Instance Variable _sensitiveHeaderNames Undocumented
def __init__(self, agent, redirectLimit=20, sensitiveHeaderNames=()): (source)

Undocumented

Parameters
agent:IAgentUndocumented
redirectLimit:intUndocumented
sensitiveHeaderNames:Iterable[bytes]Undocumented
def request(self, method, uri, headers=None, bodyProducer=None): (source)
Send a client request following HTTP redirects.
See Also
Agent.request.
def _handleRedirect(self, response, method, uri, headers, redirectCount): (source)
Handle a redirect response, checking the number of redirects already followed, and extracting the location header fields.
def _handleResponse(self, response, method, uri, headers, redirectCount): (source)
Handle the response, making another request if it indicates a redirect.
def _resolveLocation(self, requestURI, location): (source)
Resolve the redirect location against the request URI.
Parameters
requestURI:bytesThe request URI.
location:bytesThe redirect location.
Returns
bytesFinal resolved URI.
_redirectResponses = (source)
A list of HTTP status codes to be redirected for GET and HEAD methods.
_seeOtherResponses = (source)
A list of HTTP status codes to be redirected for any method and the method altered to GET.
_agent = (source)

Undocumented

_redirectLimit = (source)

Undocumented

_sensitiveHeaderNames = (source)

Undocumented