Merge pull request #943 from crvv/master

fix #763, sanic can't decode latin1 encoded header value
This commit is contained in:
Eli Uriegas 2017-09-14 13:38:44 -07:00 committed by GitHub
commit 9fb8bec715

View File

@ -189,10 +189,12 @@ class HttpProtocol(asyncio.Protocol):
and int(value) > self.request_max_size:
exception = PayloadTooLarge('Payload Too Large')
self.write_error(exception)
try:
value = value.decode()
except UnicodeDecodeError:
value = value.decode('latin_1')
self.headers.append(
(self._header_fragment.decode().casefold(),
value.decode()))
(self._header_fragment.decode().casefold(), value))
self._header_fragment = b''