server: Add http2 support.
This commit is contained in:
parent
1ff0818d46
commit
7a12f047f7
2 changed files with 57 additions and 30 deletions
26
main.py
26
main.py
|
|
@ -272,7 +272,7 @@ def receive_cb(server_name, file_descriptor):
|
|||
|
||||
server_buffer_prnt(
|
||||
server, ("{prefix}matrix: disconnecting from server..."
|
||||
).format(prefix=W.prefix("network")))
|
||||
).format(prefix=W.prefix("network")))
|
||||
|
||||
server.disconnect()
|
||||
|
||||
|
|
@ -285,7 +285,7 @@ def receive_cb(server_name, file_descriptor):
|
|||
prefix=W.prefix("network")))
|
||||
server_buffer_prnt(
|
||||
server, ("{prefix}matrix: disconnecting from server..."
|
||||
).format(prefix=W.prefix("network")))
|
||||
).format(prefix=W.prefix("network")))
|
||||
|
||||
server.disconnect()
|
||||
break
|
||||
|
|
@ -294,6 +294,12 @@ def receive_cb(server_name, file_descriptor):
|
|||
|
||||
response = server.client.next_response()
|
||||
|
||||
# Check if we need to send some data back
|
||||
data_to_send = server.client.data_to_send()
|
||||
|
||||
if data_to_send:
|
||||
server.send(data_to_send)
|
||||
|
||||
if response:
|
||||
server.handle_response(response)
|
||||
break
|
||||
|
|
@ -314,7 +320,21 @@ def finalize_connection(server):
|
|||
server.fd_hook = hook
|
||||
server.connected = True
|
||||
server.connecting = False
|
||||
server.client.connect(TransportType.HTTP)
|
||||
|
||||
negotiated_protocol = server.socket.selected_alpn_protocol()
|
||||
|
||||
if negotiated_protocol is None:
|
||||
negotiated_protocol = server.socket.selected_npn_protocol()
|
||||
|
||||
transport_type = None
|
||||
|
||||
if negotiated_protocol == "http/1.1":
|
||||
transport_type = TransportType.HTTP
|
||||
elif negotiated_protocol == "h2":
|
||||
transport_type = TransportType.HTTP2
|
||||
|
||||
data = server.client.connect(transport_type)
|
||||
server.send(data)
|
||||
|
||||
server.login()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue