Exemple #1
0
 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
Exemple #2
0
 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')
Exemple #3
0
 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'
Exemple #4
0
 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')
Exemple #5
0
 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') == '*'
Exemple #6
0
 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)
Exemple #7
0
 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)