'Requests made via this connection actually get translated and routed
into our WSGI app, we then wait for the response and turn it back into
an `httplib.HTTPResponse`.'

def request(self, method, path, body='', headers=None):

    if (not headers):
        headers = {}
    req = fakes.HTTPRequest.blank(path)
    req.method = method
    req.headers = headers
    req.host = self.host
    req.body = encodeutils.safe_encode(body)
    resp = str(req.get_response(self.app))
    resp = ('HTTP/1.0    %s' % resp)
    sock = FakeHttplibSocket(resp)
    self.http_response = httplib.HTTPResponse(sock)
    self.http_response.begin()
