Пример #1
0
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)
Пример #2
0
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