'@param method: The HTTP method for this request, ex: b\'GET\', b\'HEAD\',
b\'POST\', etc.
@type method: L{bytes}
@param uri: The relative URI of the resource to request.  For example,
C{b\'/foo/bar?baz=quux\'}.
@type uri: L{bytes}
@param headers: Headers to be sent to the server.  It is important to
note that this object does not create any implicit headers.  So it
is up to the HTTP Client to add required headers such as \'Host\'.
@type headers: L{twisted.web.http_headers.Headers}
@param bodyProducer: L{None} or an L{IBodyProducer} provider which
produces the content body to send to the remote HTTP server.
@param persistent: Set to C{True} when you use HTTP persistent
connection, defaults to C{False}.
@type persistent: L{bool}'

def __init__(self, method, uri, headers, bodyProducer, persistent=False):

    self.method = method
    self.uri = uri
    self.headers = headers
    self.bodyProducer = bodyProducer
    self.persistent = persistent
    self._parsedURI = None
