def test_it_sets_cors_headers(self, pyramid_request, testview, set_cors_headers): cors_policy = policy() cors_policy(testview)(None, pyramid_request) assert set_cors_headers.called
def test_it_returns_set_cors_headers_value(self, pyramid_request, testview, set_cors_headers): cors_policy = policy() response = cors_policy(testview)(None, pyramid_request) assert response == set_cors_headers.return_value
def test_it_returns_wrapped_view_function_response(self, pyramid_request, testview): cors_policy = policy() response = cors_policy(testview)(None, pyramid_request) assert response.body == 'OK'
def test_it_calls_wrapped_view_for_preflight_request_when_disabled( self, pyramid_request, testview): cors_policy = policy(allow_preflight=False) pyramid_request.request_method = 'OPTIONS' cors_policy(testview)(None, pyramid_request) assert testview.called
def test_it_calls_wrapped_view_for_preflight_request_when_disabled(self, pyramid_request, testview): cors_policy = policy(allow_preflight=False) pyramid_request.request_method = 'OPTIONS' cors_policy(testview)(None, pyramid_request) assert testview.called
def test_it_returns_set_cors_headers_value_for_preflight_request_when_enabled( self, pyramid_request, testview, set_cors_headers): cors_policy = policy(allow_preflight=True) pyramid_request.method = 'OPTIONS' pyramid_request.headers['Origin'] = 'https://example.org' pyramid_request.headers['Access-Control-Request-Method'] = 'GET' response = cors_policy(testview)(None, pyramid_request) assert response == set_cors_headers.return_value
def test_it_skips_wrapped_view_for_preflight_request_when_enabled( self, pyramid_request, testview): cors_policy = policy(allow_preflight=True) pyramid_request.method = 'OPTIONS' pyramid_request.headers['Origin'] = 'https://example.org' pyramid_request.headers['Access-Control-Request-Method'] = 'GET' cors_policy(testview)(None, pyramid_request) assert not testview.called
def test_it_skips_wrapped_view_for_preflight_request_when_enabled(self, pyramid_request, testview): cors_policy = policy(allow_preflight=True) pyramid_request.method = 'OPTIONS' pyramid_request.headers['Origin'] = 'https://example.org' pyramid_request.headers['Access-Control-Request-Method'] = 'GET' cors_policy(testview)(None, pyramid_request) assert not testview.called
from memex import cors from memex import models from memex.events import AnnotationEvent from memex.presenters import AnnotationJSONPresenter from memex.presenters import AnnotationJSONLDPresenter from memex import search as search_lib from memex import schemas from memex import storage _ = i18n.TranslationStringFactory(__package__) cors_policy = cors.policy( allow_headers=( 'Authorization', 'Content-Type', 'X-Annotator-Auth-Token', 'X-Client-Id', ), allow_methods=('HEAD', 'GET', 'POST', 'PUT', 'DELETE'), allow_preflight=True) class APIError(Exception): """Base exception for problems handling API requests.""" def __init__(self, message, status_code=500): self.status_code = status_code super(APIError, self).__init__(message)
def test_it_calls_wrapped_view_function(self, pyramid_request, testview): cors_policy = policy() cors_policy(testview)(None, pyramid_request) assert testview.called
# -*- coding: utf-8 -*- from __future__ import unicode_literals from pyramid.view import view_config from memex import cors cors_policy = cors.policy(allow_headers=( 'Authorization', 'Content-Type', ), allow_methods=('HEAD', 'GET', 'POST', 'PUT', 'DELETE'), allow_preflight=True) def handle_exception(request): """Handle an uncaught exception for the passed request.""" request.response.status_int = 500 request.sentry.captureException() # In debug mode we should just reraise, so that the exception is caught by # the debug toolbar. if request.debug: raise def json_view(**settings): """A view configuration decorator with JSON defaults.""" settings.setdefault('accept', 'application/json') settings.setdefault('renderer', 'json')
from memex import cors from memex import models from memex.events import AnnotationEvent from memex.presenters import AnnotationJSONPresenter from memex.presenters import AnnotationJSONLDPresenter from memex import search as search_lib from memex import schemas from memex import storage _ = i18n.TranslationStringFactory(__package__) cors_policy = cors.policy(allow_headers=( 'Authorization', 'Content-Type', 'X-Annotator-Auth-Token', 'X-Client-Id', ), allow_methods=('HEAD', 'GET', 'POST', 'PUT', 'DELETE')) class APIError(Exception): """Base exception for problems handling API requests.""" def __init__(self, message, status_code=500): self.status_code = status_code super(APIError, self).__init__(message) class PayloadError(APIError): """Exception raised for API requests made with missing/invalid payloads.""" def __init__(self):
# -*- coding: utf-8 -*- from __future__ import unicode_literals from pyramid.view import view_config from memex import cors cors_policy = cors.policy( allow_headers=( 'Authorization', 'Content-Type', ), allow_methods=('HEAD', 'GET', 'POST', 'PUT', 'DELETE'), allow_preflight=True) def handle_exception(request): """Handle an uncaught exception for the passed request.""" request.response.status_int = 500 request.sentry.captureException() # In debug mode we should just reraise, so that the exception is caught by # the debug toolbar. if request.debug: raise def json_view(**settings): """A view configuration decorator with JSON defaults.""" settings.setdefault('accept', 'application/json') settings.setdefault('renderer', 'json')