mirror of
https://github.com/webrecorder/pywb.git
synced 2025-03-24 06:59:52 +01:00
http block loader: raise exception for 4xx, 5xx responses
tests: add tests for limitreader posting, fix charset for frame test
This commit is contained in:
parent
c3389987cd
commit
66ca8d8b26
@ -392,6 +392,7 @@ class HttpLoader(BaseLoader):
|
|||||||
self.session = requests.Session()
|
self.session = requests.Session()
|
||||||
|
|
||||||
r = self.session.get(url, headers=headers, stream=True)
|
r = self.session.get(url, headers=headers, stream=True)
|
||||||
|
r.raise_for_status()
|
||||||
return r.raw
|
return r.raw
|
||||||
|
|
||||||
|
|
||||||
|
@ -138,6 +138,7 @@ import pytest
|
|||||||
import six
|
import six
|
||||||
from six import StringIO
|
from six import StringIO
|
||||||
from io import BytesIO
|
from io import BytesIO
|
||||||
|
import requests
|
||||||
|
|
||||||
from pywb.utils.loaders import BlockLoader, HMACCookieMaker, to_file_url
|
from pywb.utils.loaders import BlockLoader, HMACCookieMaker, to_file_url
|
||||||
from pywb.utils.loaders import LimitReader, extract_client_cookie, extract_post_query
|
from pywb.utils.loaders import LimitReader, extract_client_cookie, extract_post_query
|
||||||
@ -176,6 +177,14 @@ def test_s3_read_1():
|
|||||||
assert reader.readline() == b'WARC/1.0\r\n'
|
assert reader.readline() == b'WARC/1.0\r\n'
|
||||||
assert reader.readline() == b'WARC-Type: response\r\n'
|
assert reader.readline() == b'WARC-Type: response\r\n'
|
||||||
|
|
||||||
|
def test_limit_post():
|
||||||
|
reader = LimitReader(BytesIO(b'abcdefg'), 3)
|
||||||
|
r = requests.request(method='POST',
|
||||||
|
url='http://httpbin.org/post',
|
||||||
|
data=reader,
|
||||||
|
headers={'Content-Length': '3'})
|
||||||
|
|
||||||
|
assert '"abc"' in r.text
|
||||||
|
|
||||||
# Error
|
# Error
|
||||||
def test_err_no_such_file():
|
def test_err_no_such_file():
|
||||||
|
@ -4,7 +4,6 @@ from pywb.framework.wsgi_wrappers import init_app
|
|||||||
import webtest
|
import webtest
|
||||||
import pywb.rewrite.rewrite_live
|
import pywb.rewrite.rewrite_live
|
||||||
|
|
||||||
|
|
||||||
#=================================================================
|
#=================================================================
|
||||||
class MockYTDWrapper(object):
|
class MockYTDWrapper(object):
|
||||||
def extract_info(self, url):
|
def extract_info(self, url):
|
||||||
@ -47,6 +46,7 @@ class TestLiveRewriter:
|
|||||||
def test_live_live_frame(self):
|
def test_live_live_frame(self):
|
||||||
resp = self.testapp.get('/live/http://example.com/')
|
resp = self.testapp.get('/live/http://example.com/')
|
||||||
assert resp.status_int == 200
|
assert resp.status_int == 200
|
||||||
|
resp.charset = 'utf-8'
|
||||||
assert '<iframe ' in resp.text
|
assert '<iframe ' in resp.text
|
||||||
assert 'src="http://localhost:80/live/mp_/http://example.com/"' in resp.text, resp.text
|
assert 'src="http://localhost:80/live/mp_/http://example.com/"' in resp.text, resp.text
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user