Performs a single HTTP request.
The uri is the URI of the HTTP resource and can begin with either http or https. The value of uri must be an absolute URI.
The method is the HTTP method to perform, such as GET, POST, DELETE, etc. There is no restriction
on the methods allowed.
The body is the entity body to be sent with the request. It is a string
object.
Any extra headers that are to be sent with the request should be provided in the
headers dictionary.
The maximum number of redirect to follow before raising an exception is redirections. The default is 5.
The connection_type is the type of connection object to use. The supplied class
should implement the interface of httplib.HTTPConnection.
The return value is a tuple of (response, content), the first being and instance of the
Response class, the second being a string that contains the response entity body.