Example #1
0
 def _get_request(self):
     request = HttpRequest(
         method="GET",
         uri="/hello?foo=bar&baz",
         version="1.1",
         extra={'peername': ('127.0.0.1', '80')}
     )
     request.add_header("Cookie", "foo=bar;baz=far")
     request.add_header('content-type', _FORM_URLENCODED)
     return request
Example #2
0
    def test_request_to_wsgi(self):
        req = HttpRequest('GET', '/', 'HTTP/1.1', extra={
                'peername': ('127.0.0.1', 500),
                'sslcontext': None
            })
        req.add_header('Content-Type', 'text/html')
        environ = request_to_wsgi(req)
        self.assertEqual(environ.get('REQUEST_METHOD'), 'GET')
        self.assertEqual(environ.get('PATH_INFO'), '/')
        self.assertEqual(environ.get('HTTP_CONTENT_TYPE'), 'text/html')
        self.assertEqual(environ.get('wsgi.url_scheme'), 'http')

        req = HttpRequest('GET', '/', 'HTTP/1.1', extra={
                'peername': ('127.0.0.1', 500),
                'sslcontext': True,
            })
        environ = request_to_wsgi(req)
        self.assertEqual(environ.get('wsgi.url_scheme'), 'https')
Example #3
0
    def test_should_close_conn(self):
        proto = BaseHttpProtocol(loop=self.loop)
        req = HttpRequest('GET', '/', 'HTTP/1.0')
        self.assertTrue(proto._should_close_conn_immediately(req))

        req = HttpRequest('GET', '/', 'HTTP/1.0')
        req.add_header('connection', 'keep-alive')
        self.assertFalse(proto._should_close_conn_immediately(req))

        req = HttpRequest('GET', '/', 'HTTP/1.0')
        req.add_header('connection', 'boo')
        self.assertTrue(proto._should_close_conn_immediately(req))

        req = HttpRequest('GET', '/', 'HTTP/1.1')
        self.assertFalse(proto._should_close_conn_immediately(req))

        req = HttpRequest('GET', '/', 'HTTP/1.1')
        req.add_header('connection', 'close')
        self.assertTrue(proto._should_close_conn_immediately(req))

        proto1 = BaseHttpProtocol(keep_alive=0, loop=self.loop)
        self.assertTrue(proto1._should_close_conn_immediately(req))