mirror of
https://github.com/webrecorder/pywb.git
synced 2025-03-15 08:04:49 +01:00
proxy/rewrite: don't rewrite headers banner_only
This commit is contained in:
parent
cfe11a5ad3
commit
407da7528b
@ -181,7 +181,12 @@ class ProxyRouter(object):
|
||||
elif is_https:
|
||||
wbrequest.wb_url.mod = 'bn_'
|
||||
|
||||
return route.handler(wbrequest)
|
||||
response = route.handler(wbrequest)
|
||||
|
||||
if wbrequest.wb_url and wbrequest.wb_url.is_replay():
|
||||
response.status_headers.replace_header('Cache-Control', 'no-cache')
|
||||
|
||||
return response
|
||||
|
||||
def get_request_socket(self, env):
|
||||
if not self.ca:
|
||||
|
@ -37,7 +37,7 @@ class HeaderRewriter:
|
||||
|
||||
ENCODING_HEADERS = ['content-encoding']
|
||||
|
||||
REMOVE_HEADERS = ['transfer-encoding']
|
||||
REMOVE_HEADERS = ['transfer-encoding', 'content-security-policy']
|
||||
|
||||
PROXY_NO_REWRITE_HEADERS = ['content-length']
|
||||
|
||||
@ -90,7 +90,10 @@ class HeaderRewriter:
|
||||
new_headers = []
|
||||
removed_header_dict = {}
|
||||
|
||||
cookie_rewriter = urlrewriter.get_cookie_rewriter()
|
||||
if urlrewriter:
|
||||
cookie_rewriter = urlrewriter.get_cookie_rewriter()
|
||||
else:
|
||||
cookie_rewriter = None
|
||||
|
||||
for (name, value) in headers:
|
||||
|
||||
@ -99,7 +102,7 @@ class HeaderRewriter:
|
||||
if lowername in self.PROXY_HEADERS:
|
||||
new_headers.append((name, value))
|
||||
|
||||
elif lowername in self.URL_REWRITE_HEADERS:
|
||||
elif urlrewriter and lowername in self.URL_REWRITE_HEADERS:
|
||||
new_headers.append((name, urlrewriter.rewrite(value)))
|
||||
|
||||
elif lowername in self.ENCODING_HEADERS:
|
||||
@ -109,7 +112,8 @@ class HeaderRewriter:
|
||||
new_headers.append((name, value))
|
||||
|
||||
elif lowername in self.REMOVE_HEADERS:
|
||||
removed_header_dict[lowername] = value
|
||||
removed_header_dict[lowername] = value
|
||||
new_headers.append((self.header_prefix + name, value))
|
||||
|
||||
elif (lowername in self.PROXY_NO_REWRITE_HEADERS and
|
||||
not content_rewritten):
|
||||
@ -120,7 +124,9 @@ class HeaderRewriter:
|
||||
cookie_list = cookie_rewriter.rewrite(value)
|
||||
new_headers.extend(cookie_list)
|
||||
|
||||
else:
|
||||
elif urlrewriter:
|
||||
new_headers.append((self.header_prefix + name, value))
|
||||
else:
|
||||
new_headers.append((name, value))
|
||||
|
||||
return (new_headers, removed_header_dict)
|
||||
|
@ -63,6 +63,10 @@ class RewriteContent:
|
||||
status_headers, stream = self.sanitize_content(headers, stream)
|
||||
return (status_headers, self.stream_to_gen(stream), False)
|
||||
|
||||
|
||||
if wb_url.is_banner_only:
|
||||
urlrewriter = None
|
||||
|
||||
(rewritten_headers, stream) = self.rewrite_headers(urlrewriter,
|
||||
headers,
|
||||
stream)
|
||||
|
Loading…
x
Reference in New Issue
Block a user