mirror of
https://github.com/Grasscutters/mitmproxy.git
synced 2025-01-30 23:09:44 +00:00
suppress SPDY/HTTP2 announcement headers, fix #277
This commit is contained in:
parent
8f9395060f
commit
13f030ccb5
@ -320,15 +320,13 @@ class HTTPRequest(HTTPMessage):
|
|||||||
|
|
||||||
def _assemble_headers(self):
|
def _assemble_headers(self):
|
||||||
headers = self.headers.copy()
|
headers = self.headers.copy()
|
||||||
utils.del_all(
|
for k in ['Proxy-Connection',
|
||||||
headers,
|
'Keep-Alive',
|
||||||
[
|
'Connection',
|
||||||
'Proxy-Connection',
|
'Transfer-Encoding']:
|
||||||
'Keep-Alive',
|
del headers[k]
|
||||||
'Connection',
|
if headers["Upgrade"] == ["h2c"]: # Suppress HTTP2 https://http2.github.io/http2-spec/index.html#discover-http
|
||||||
'Transfer-Encoding'
|
del headers["Upgrade"]
|
||||||
]
|
|
||||||
)
|
|
||||||
if not 'host' in headers:
|
if not 'host' in headers:
|
||||||
headers["Host"] = [utils.hostport(self.scheme,
|
headers["Host"] = [utils.hostport(self.scheme,
|
||||||
self.host or self.flow.server_conn.address.host,
|
self.host or self.flow.server_conn.address.host,
|
||||||
@ -636,9 +634,12 @@ class HTTPResponse(HTTPMessage):
|
|||||||
|
|
||||||
def _assemble_headers(self, preserve_transfer_encoding=False):
|
def _assemble_headers(self, preserve_transfer_encoding=False):
|
||||||
headers = self.headers.copy()
|
headers = self.headers.copy()
|
||||||
utils.del_all(headers, ['Proxy-Connection'])
|
for k in ['Proxy-Connection',
|
||||||
|
'Alternate-Protocol',
|
||||||
|
'Alt-Svc']:
|
||||||
|
del headers[k]
|
||||||
if not preserve_transfer_encoding:
|
if not preserve_transfer_encoding:
|
||||||
utils.del_all(headers, ['Transfer-Encoding'])
|
del headers['Transfer-Encoding']
|
||||||
|
|
||||||
if self.content:
|
if self.content:
|
||||||
headers["Content-Length"] = [str(len(self.content))]
|
headers["Content-Length"] = [str(len(self.content))]
|
||||||
|
@ -64,12 +64,6 @@ def urlencode(s):
|
|||||||
return urllib.urlencode(s, False)
|
return urllib.urlencode(s, False)
|
||||||
|
|
||||||
|
|
||||||
def del_all(dict, keys):
|
|
||||||
for key in keys:
|
|
||||||
if key in dict:
|
|
||||||
del dict[key]
|
|
||||||
|
|
||||||
|
|
||||||
def pretty_size(size):
|
def pretty_size(size):
|
||||||
suffixes = [
|
suffixes = [
|
||||||
("B", 2**10),
|
("B", 2**10),
|
||||||
|
@ -22,12 +22,6 @@ def test_isXml():
|
|||||||
assert utils.isXML(" \n<foo")
|
assert utils.isXML(" \n<foo")
|
||||||
|
|
||||||
|
|
||||||
def test_del_all():
|
|
||||||
d = dict(a=1, b=2, c=3)
|
|
||||||
utils.del_all(d, ["a", "x", "b"])
|
|
||||||
assert d.keys() == ["c"]
|
|
||||||
|
|
||||||
|
|
||||||
def test_clean_hanging_newline():
|
def test_clean_hanging_newline():
|
||||||
s = "foo\n"
|
s = "foo\n"
|
||||||
assert utils.clean_hanging_newline(s) == "foo"
|
assert utils.clean_hanging_newline(s) == "foo"
|
||||||
|
Loading…
Reference in New Issue
Block a user