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.
@@ -153,14 +153,10 @@ class HttpResponseBase:
def serialize_headers(self):
"""HTTP headers as a bytestring."""
- def to_bytes(val, encoding):
- return val if isinstance(val, bytes) else val.encode(encoding)
-
- headers = [
- (to_bytes(key, 'ascii') + b': ' + to_bytes(value, 'latin-1'))
+ return b'\r\n'.join([
+ key.encode('ascii') + b': ' + value.encode('latin-1')
for key, value in self.headers.items()
- ]
- return b'\r\n'.join(headers)
+ ])
__bytes__ = serialize_headers
