def __call__(self, event): response = event.params['context']['response'] request = event.params['context']['request'] route = event.params['context']['route_match'].route conf = utils.generate_cors_config(self.container, route) utils.process_cors(request, response, **conf) return response
def test_expose_headers(self): request = messages.Request.from_environ(sample_environ()) response = messages.Response() utils.process_cors( request, response, **sample_cors_options(expose_headers=('authorization',))) assert response._cors_processed assert 'authorization' in response.headers.get('Access-Control-Expose-Headers')
def test_allow_credentials(self): request = messages.Request.from_environ(sample_environ()) response = messages.Response() utils.process_cors( request, response, **sample_cors_options(allow_credentials=True)) assert response._cors_processed assert response.headers.get('Access-Control-Allow-Credentials') == 'true'
def test_allow_origin_list(self): request = messages.Request.from_environ(sample_environ(HTTP_ORIGIN='http://127.0.0.1')) response = messages.Response() utils.process_cors( request, response, **sample_cors_options(allow_origin=('http://127.0.0.1', 'google.com'))) assert response._cors_processed assert 'http://127.0.0.1' == response.headers.get('Access-Control-Allow-Origin')
def test_allow_origin(self): request = messages.Request.from_environ(sample_environ()) response = messages.Response() utils.process_cors( request, response, **sample_cors_options()) assert response._cors_processed assert response.headers.get('Access-Control-Allow-Origin') == '*'
def test_preflight_check(self): request = messages.Request.from_environ(sample_environ(REQUEST_METHOD='OPTIONS')) response = messages.Response() options = sample_cors_options( allow_headers=('authorization',), allow_methods=('GET', 'OPTIONS')) utils.process_cors( request, response, **options) assert response._cors_processed assert 'authorization' in response.headers.get('Access-Control-Allow-Headers') assert utils.process_cors(request, response, **options)
def wrapper(self, *args, **kwargs): route = self.event.params['context']['route_match'].route conf = utils.generate_cors_config(self.container, route, **cors_kwargs) utils.process_cors(self.request, self.response, **conf) return func(self, **kwargs)