Skip to content

Commit d52066c

Browse files
committed
add decode_content option to BlockLoader for testing
1 parent a9f094d commit d52066c

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

pywb/utils/loaders.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -336,6 +336,7 @@ def __init__(self, **kwargs):
336336
if not self.cookie_maker:
337337
self.cookie_maker = kwargs.get('cookie')
338338
self.session = None
339+
self.decode_content = kwargs.get('decode_content', False)
339340

340341
def load(self, url, offset, length):
341342
"""
@@ -357,7 +358,8 @@ def load(self, url, offset, length):
357358

358359
r = self.session.get(url, headers=headers, stream=True)
359360
r.raise_for_status()
360-
r.raw.decode_content = True
361+
if self.decode_content:
362+
r.raw.decode_content = True
361363
return StreamClosingReader(r.raw)
362364

363365

pywb/utils/test/test_loaders.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,19 @@
1515
IOError: [Errno 2] No such file or directory: '_x_no_such_file_'
1616
1717
# HMAC Cookie Maker
18-
#>>> print_str(BlockLoader(cookie_maker=HMACCookieMaker('test', 'test', 5)).load('https://example.com', 41, 14).read())
18+
#>>> print_str(BlockLoader(cookie_maker=HMACCookieMaker('test', 'test', 5), decode_content=False).load('https://example.com', 41, 14).read())
1919
#'Example Domain'
2020
2121
# fixed cookie, range request
22-
>>> print_str(BlockLoader(cookie='some=value').load('https://example.com', 41, 14).read())
22+
>>> print_str(BlockLoader(cookie='some=value', decode_content=True).load('https://example.com', 41, 14).read())
2323
'Example Domain'
2424
2525
# range request
26-
>>> print_str(BlockLoader().load('https://example.com', 1248).read())
26+
>>> print_str(BlockLoader(decode_content=True).load('https://example.com', 1248).read())
2727
'</html>\n'
2828
2929
# custom profile
30-
>>> print_str(BlockLoader().load('local+https://example.com', 1248).read())
30+
>>> print_str(BlockLoader(decode_content=True).load('local+https://example.com', 1248).read())
3131
'</html>\n'
3232
3333
# unknown loader error

0 commit comments

Comments
 (0)