mirror of
https://github.com/Grasscutters/mitmproxy.git
synced 2024-11-26 18:18:25 +00:00
change HTTP2 interface to match HTTP1
This commit is contained in:
parent
bab6cbff1e
commit
230c16122b
@ -2,7 +2,7 @@ from __future__ import (absolute_import, print_function, division)
|
||||
import itertools
|
||||
|
||||
from hpack.hpack import Encoder, Decoder
|
||||
from .. import utils
|
||||
from netlib import http, utils
|
||||
from . import frame
|
||||
|
||||
|
||||
@ -186,9 +186,9 @@ class HTTP2Protocol(object):
|
||||
self._create_headers(headers, stream_id, end_stream=(body is None)),
|
||||
self._create_body(body, stream_id)))
|
||||
|
||||
def read_response(self):
|
||||
def read_response(self, *args):
|
||||
stream_id_, headers, body = self._receive_transmission()
|
||||
return headers[':status'], headers, body
|
||||
return http.Response("HTTP/2", headers[':status'], "", headers, body)
|
||||
|
||||
def read_request(self):
|
||||
return self._receive_transmission()
|
||||
|
@ -251,11 +251,13 @@ class TestReadResponse(tservers.ServerTestBase):
|
||||
c.convert_to_ssl()
|
||||
protocol = http2.HTTP2Protocol(c)
|
||||
|
||||
status, headers, body = protocol.read_response()
|
||||
resp = protocol.read_response()
|
||||
|
||||
assert headers == {':status': '200', 'etag': 'foobar'}
|
||||
assert status == "200"
|
||||
assert body == b'foobar'
|
||||
assert resp.httpversion == "HTTP/2"
|
||||
assert resp.status_code == "200"
|
||||
assert resp.msg == ""
|
||||
assert resp.headers == {':status': '200', 'etag': 'foobar'}
|
||||
assert resp.content == b'foobar'
|
||||
|
||||
|
||||
class TestReadEmptyResponse(tservers.ServerTestBase):
|
||||
@ -274,11 +276,13 @@ class TestReadEmptyResponse(tservers.ServerTestBase):
|
||||
c.convert_to_ssl()
|
||||
protocol = http2.HTTP2Protocol(c)
|
||||
|
||||
status, headers, body = protocol.read_response()
|
||||
resp = protocol.read_response()
|
||||
|
||||
assert headers == {':status': '200', 'etag': 'foobar'}
|
||||
assert status == "200"
|
||||
assert body == b''
|
||||
assert resp.httpversion == "HTTP/2"
|
||||
assert resp.status_code == "200"
|
||||
assert resp.msg == ""
|
||||
assert resp.headers == {':status': '200', 'etag': 'foobar'}
|
||||
assert resp.content == b''
|
||||
|
||||
|
||||
class TestReadRequest(tservers.ServerTestBase):
|
||||
|
Loading…
Reference in New Issue
Block a user