Simplified serializing HTTP response headers.
Since ResponseHeaders was introduced, header names and values are stored as strings. There is no need to check whether they are bytes. Co-authored-by: Nick Pope <nick@nickpope.me.uk>
This commit is contained in:
parent
947bdec60c
commit
f03ba0ad52
|
@ -153,14 +153,10 @@ class HttpResponseBase:
|
||||||
|
|
||||||
def serialize_headers(self):
|
def serialize_headers(self):
|
||||||
"""HTTP headers as a bytestring."""
|
"""HTTP headers as a bytestring."""
|
||||||
def to_bytes(val, encoding):
|
return b'\r\n'.join([
|
||||||
return val if isinstance(val, bytes) else val.encode(encoding)
|
key.encode('ascii') + b': ' + value.encode('latin-1')
|
||||||
|
|
||||||
headers = [
|
|
||||||
(to_bytes(key, 'ascii') + b': ' + to_bytes(value, 'latin-1'))
|
|
||||||
for key, value in self.headers.items()
|
for key, value in self.headers.items()
|
||||||
]
|
])
|
||||||
return b'\r\n'.join(headers)
|
|
||||||
|
|
||||||
__bytes__ = serialize_headers
|
__bytes__ = serialize_headers
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue