aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--netlib/http2/protocol.py6
-rw-r--r--test/http2/test_http2_protocol.py4
2 files changed, 7 insertions, 3 deletions
diff --git a/netlib/http2/protocol.py b/netlib/http2/protocol.py
index 56aee490..1e722dfb 100644
--- a/netlib/http2/protocol.py
+++ b/netlib/http2/protocol.py
@@ -152,10 +152,13 @@ class HTTP2Protocol(object):
if headers is None:
headers = []
+ authority = self.tcp_handler.sni if self.tcp_handler.sni else self.tcp_handler.address.host
headers = [
(b':method', bytes(method)),
(b':path', bytes(path)),
- (b':scheme', b'https')] + headers
+ (b':scheme', b'https'),
+ (b':authority', authority),
+ ] + headers
stream_id = self.next_stream_id()
@@ -192,6 +195,7 @@ class HTTP2Protocol(object):
body += frm.payload
if frm.flags & frame.Frame.FLAG_END_STREAM:
break
+ # TODO: implement window update & flow
headers = {}
for header, value in self.decoder.decode(header_block_fragment):
diff --git a/test/http2/test_http2_protocol.py b/test/http2/test_http2_protocol.py
index ebd2c9a7..34c69fa9 100644
--- a/test/http2/test_http2_protocol.py
+++ b/test/http2/test_http2_protocol.py
@@ -222,14 +222,14 @@ class TestCreateRequest():
def test_create_request_simple(self):
bytes = http2.HTTP2Protocol(self.c).create_request('GET', '/')
assert len(bytes) == 1
- assert bytes[0] == '000003010500000001828487'.decode('hex')
+ assert bytes[0] == '00000c0105000000018284874187089d5c0b8170ff'.decode('hex')
def test_create_request_with_body(self):
bytes = http2.HTTP2Protocol(self.c).create_request(
'GET', '/', [(b'foo', b'bar')], 'foobar')
assert len(bytes) == 2
assert bytes[0] ==\
- '00000b010400000001828487408294e7838c767f'.decode('hex')
+ '0000140104000000018284874187089d5c0b8170ff408294e7838c767f'.decode('hex')
assert bytes[1] ==\
'000006000100000001666f6f626172'.decode('hex')