Skip to content
This repository was archived by the owner on Jan 13, 2021. It is now read-only.

Commit 8345852

Browse files
KOLANICHLukasa
authored andcommitted
Convert headers to strings in HTTP20Adapter to fix #324 (#335)
* Convert headers to strings in HTTP20Adapter to fix #324 * Update contrib.py * Update test_integration.py * Update test_integration.py * Update contrib.py * Update contrib.py * Update contrib.py * Update contrib.py
1 parent 185254b commit 8345852

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

hyper/contrib.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
from hyper.common.connection import HTTPConnection
2020
from hyper.compat import urlparse, ssl
2121
from hyper.tls import init_context
22+
from hyper.common.util import to_native_string
2223

2324

2425
class HTTP20Adapter(HTTPAdapter):
@@ -132,7 +133,10 @@ def build_response(self, request, resp):
132133
response = Response()
133134

134135
response.status_code = resp.status
135-
response.headers = CaseInsensitiveDict(resp.headers.iter_raw())
136+
response.headers = CaseInsensitiveDict((
137+
map(to_native_string, h)
138+
for h in resp.headers.iter_raw()
139+
))
136140
response.raw = resp
137141
response.reason = resp.reason
138142
response.encoding = get_encoding_from_headers(response.headers)

test/test_integration.py

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1294,7 +1294,7 @@ def socket_handler(listener):
12941294

12951295
# Assert about the received values.
12961296
assert r.status_code == 200
1297-
assert r.headers[b'Content-Type'] == b'not/real'
1297+
assert r.headers['Content-Type'] == 'not/real'
12981298
assert r.content == b'1234567890' * 2
12991299

13001300
recv_event.set()
@@ -1417,9 +1417,9 @@ def socket_handler(listener):
14171417

14181418
assert r.status_code == 201
14191419
assert len(r.headers) == 3
1420-
assert r.headers[b'server'] == b'socket-level-server'
1421-
assert r.headers[b'content-length'] == b'0'
1422-
assert r.headers[b'connection'] == b'close'
1420+
assert r.headers['server'] == 'socket-level-server'
1421+
assert r.headers['content-length'] == '0'
1422+
assert r.headers['connection'] == 'close'
14231423

14241424
assert r.content == b''
14251425

@@ -1480,9 +1480,9 @@ def socket_handler(listener):
14801480

14811481
assert r.status_code == 201
14821482
assert len(r.headers) == 3
1483-
assert r.headers[b'server'] == b'socket-level-server'
1484-
assert r.headers[b'content-length'] == b'0'
1485-
assert r.headers[b'connection'] == b'close'
1483+
assert r.headers['server'] == 'socket-level-server'
1484+
assert r.headers['content-length'] == '0'
1485+
assert r.headers['connection'] == 'close'
14861486

14871487
assert r.content == b''
14881488

@@ -1530,9 +1530,9 @@ def socket_handler(listener):
15301530

15311531
assert r.status_code == 201
15321532
assert len(r.headers) == 3
1533-
assert r.headers[b'server'] == b'socket-level-server'
1534-
assert r.headers[b'content-length'] == b'0'
1535-
assert r.headers[b'connection'] == b'close'
1533+
assert r.headers['server'] == 'socket-level-server'
1534+
assert r.headers['content-length'] == '0'
1535+
assert r.headers['connection'] == 'close'
15361536

15371537
assert r.content == b''
15381538

0 commit comments

Comments
 (0)