def fetch(): url = request.form['url'] print url try: h = Headers(request.headers) h.clear() h.add('referer', 'https://www.facebook.com/') r = requests.request( method='GET', url=url, headers=h, timeout=5 ) except ( requests.exceptions.Timeout, requests.exceptions.ConnectTimeout, requests.exceptions.ReadTimeout): return Response(status=504) except ( requests.exceptions.ConnectionError, requests.exceptions.HTTPError, requests.exceptions.TooManyRedirects): return Response(status=502) except ( requests.exceptions.RequestException, Exception) as e: if app.debug: raise e return Response(status=500) mimetype = "text/html" return Response(r.content, mimetype=mimetype)
def test_recorder_required(app, client): from app.decorators import recorder_required @recorder_required def test_endpoint(): return 'Success' print(test_endpoint) # correct recorder key recorder = models.RecorderFactory.create(uid="Recorder12") headers = Headers() headers.add('recorder_key', encode_recorder_key(recorder.uid)) with app.test_request_context(path='/test', headers=headers): assert test_endpoint() == 'Success' assert hasattr(flask.g, 'recorder') assert flask.g.recorder.uid == recorder.uid # incorrect recorder key headers.clear() headers.add('recorder_key', encode_recorder_key("Recorder13")) with app.test_request_context(path='/test', headers=headers): try: test_endpoint() raise AssertionError except: pass