Use a try/except, it's a bit faster

Also reorder some imports and add some comments
This commit is contained in:
Eli Uriegas 2016-12-24 18:37:55 -08:00 committed by GitHub
parent cc982c5a61
commit d7e94473f3

View File

@ -1,9 +1,11 @@
from aiofiles import open as open_async from aiofiles import open as open_async
from .cookies import CookieJar
from mimetypes import guess_type from mimetypes import guess_type
from os import path from os import path
from ujson import dumps as json_dumps from ujson import dumps as json_dumps
from .cookies import CookieJar
COMMON_STATUS_CODES = { COMMON_STATUS_CODES = {
200: b'OK', 200: b'OK',
400: b'Bad Request', 400: b'Bad Request',
@ -79,9 +81,12 @@ class HTTPResponse:
self.content_type = content_type self.content_type = content_type
if body is not None: if body is not None:
self.body = body try:
if isinstance(body, str): # Try to encode it regularly
self.body = body.encode('utf-8') self.body = body.encode('utf-8')
except AttributeError:
# Convert it to a str if you can't
self.body = str(body).encode('utf-8')
else: else:
self.body = body_bytes self.body = body_bytes