"""A non-blocking, single-threaded HTTP server."""
-import cgi
import errno
import logging
import os
from tornado import stack_context
from tornado.util import b, bytes_type
+try:
+ from urlparse import parse_qs # Python 2.6+
+except ImportError:
+ from cgi import parse_qs
+
try:
import fcntl
except ImportError:
content_type = self._request.headers.get("Content-Type", "")
if self._request.method in ("POST", "PUT"):
if content_type.startswith("application/x-www-form-urlencoded"):
- arguments = cgi.parse_qs(self._request.body)
+ arguments = parse_qs(self._request.body)
for name, values in arguments.iteritems():
name = name.decode('utf-8')
values = [v for v in values if v]
scheme, netloc, path, query, fragment = urlparse.urlsplit(uri)
self.path = path
self.query = query
- arguments = cgi.parse_qs(query)
+ arguments = parse_qs(query)
self.arguments = {}
for name, values in arguments.iteritems():
values = [v for v in values if v]
self.assertTrue(response.headers["Location"].endswith("/countdown/1"))
def test_default_certificates_exist(self):
- open(_DEFAULT_CA_CERTS)
+ open(_DEFAULT_CA_CERTS).close()
def test_credentials_in_url(self):
url = self.get_url("/auth").replace("http://", "http://me:secret@")
def test_stack_context(self):
self.http_client.fetch(self.get_url('/'), self.handle_response)
self.wait()
- self.assertEquals(self.response.code, 500)
+ self.assertEqual(self.response.code, 500)
self.assertTrue(b('got expected exception') in self.response.body)
def handle_response(self, response):
def test_round_trip(self):
handler = CookieTestRequestHandler()
handler.set_secure_cookie('foo', b('bar'))
- self.assertEquals(handler.get_secure_cookie('foo'), b('bar'))
+ self.assertEqual(handler.get_secure_cookie('foo'), b('bar'))
def test_cookie_tampering_future_timestamp(self):
handler = CookieTestRequestHandler()