mirror of
https://github.com/webrecorder/pywb.git
synced 2025-03-24 06:59:52 +01:00
some tweaks on transfer-encoding: always remove and serve unchunked
(should allow front-end serve can rechunk as needed)
This commit is contained in:
parent
8732499dd5
commit
a6458b056f
@ -36,6 +36,9 @@ class HeaderRewriter:
|
|||||||
{'status_headers': StatusAndHeaders(protocol = '', statusline = '200 OK', headers = [ ('Content-Length', '200000'),
|
{'status_headers': StatusAndHeaders(protocol = '', statusline = '200 OK', headers = [ ('Content-Length', '200000'),
|
||||||
('Content-Type', 'image/png'),
|
('Content-Type', 'image/png'),
|
||||||
('X-Archive-Orig-Cookie', 'blah'),
|
('X-Archive-Orig-Cookie', 'blah'),
|
||||||
|
('Content-Encoding', 'gzip')]), 'charset': None, 'textType': None, 'removedHeaderDict': {'transfer-encoding': 'chunked'}}
|
||||||
|
|
||||||
|
Removing Transfer-Encoding always, Was:
|
||||||
('Content-Encoding', 'gzip'),
|
('Content-Encoding', 'gzip'),
|
||||||
('Transfer-Encoding', 'chunked')]), 'charset': None, 'textType': None, 'removedHeaderDict': {}}
|
('Transfer-Encoding', 'chunked')]), 'charset': None, 'textType': None, 'removedHeaderDict': {}}
|
||||||
|
|
||||||
@ -50,13 +53,15 @@ class HeaderRewriter:
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
PROXY_HEADERS = ('content-type', 'content-disposition')
|
PROXY_HEADERS = ['content-type', 'content-disposition']
|
||||||
|
|
||||||
URL_REWRITE_HEADERS = ('location', 'content-location', 'content-base')
|
URL_REWRITE_HEADERS = ['location', 'content-location', 'content-base']
|
||||||
|
|
||||||
ENCODING_HEADERS = ('content-encoding', 'transfer-encoding')
|
ENCODING_HEADERS = ['content-encoding']
|
||||||
|
|
||||||
PROXY_NO_REWRITE_HEADERS = ('content-length')
|
REMOVE_HEADERS = ['transfer-encoding']
|
||||||
|
|
||||||
|
PROXY_NO_REWRITE_HEADERS = ['content-length']
|
||||||
|
|
||||||
def __init__(self, headerPrefix = 'X-Archive-Orig-'):
|
def __init__(self, headerPrefix = 'X-Archive-Orig-'):
|
||||||
self.headerPrefix = headerPrefix
|
self.headerPrefix = headerPrefix
|
||||||
@ -108,6 +113,8 @@ class HeaderRewriter:
|
|||||||
removedHeaderDict[lowername] = value
|
removedHeaderDict[lowername] = value
|
||||||
else:
|
else:
|
||||||
newHeaders.append((name, value))
|
newHeaders.append((name, value))
|
||||||
|
elif lowername in self.REMOVE_HEADERS:
|
||||||
|
removedHeaderDict[lowername] = value
|
||||||
elif lowername in self.PROXY_NO_REWRITE_HEADERS and not contentRewritten:
|
elif lowername in self.PROXY_NO_REWRITE_HEADERS and not contentRewritten:
|
||||||
newHeaders.append((name, value))
|
newHeaders.append((name, value))
|
||||||
else:
|
else:
|
||||||
|
@ -292,7 +292,7 @@ class RewritingReplayHandler(ReplayHandler):
|
|||||||
if rewrittenHeaders.textType is None:
|
if rewrittenHeaders.textType is None:
|
||||||
response.status_headers = rewrittenHeaders.status_headers
|
response.status_headers = rewrittenHeaders.status_headers
|
||||||
|
|
||||||
if fix_chunk:
|
if de_chunk:
|
||||||
response.body = self.create_stream_gen(stream)
|
response.body = self.create_stream_gen(stream)
|
||||||
|
|
||||||
return response
|
return response
|
||||||
|
Loading…
x
Reference in New Issue
Block a user