Example #1
0
 def test_only_changes_context_if_bucket_in_cache(self):
     signing_context = {'endpoint': 'bar'}
     self.cache['bar'] = signing_context
     self.redirector = S3RegionRedirector(self.endpoint_bridge,
                                          self.client,
                                          cache=self.cache)
     params = {'Bucket': 'foo'}
     context = {}
     self.redirector.redirect_from_cache(params, context)
     self.assertNotEqual(context.get('signing'), signing_context)
Example #2
0
 def setUp(self):
     self.endpoint_bridge = mock.Mock()
     self.endpoint_bridge.resolve.return_value = {
         'endpoint_url': 'https://eu-central-1.amazonaws.com'
     }
     self.client = mock.Mock()
     self.cache = {}
     self.redirector = S3RegionRedirector(self.endpoint_bridge, self.client)
     self.set_client_response_headers({})
     self.operation = mock.Mock()
     self.operation.name = 'foo'
Example #3
0
 def _register_s3_events(self, client, endpoint_bridge, endpoint_url):
     if client.meta.service_model.service_name != 's3':
         return
     S3RegionRedirector(endpoint_bridge, client).register()
     self._set_s3_addressing_style(endpoint_url, client.meta.config.s3,
                                   client.meta.events)
     # Enable accelerate if the configuration is set to to true or the
     # endpoint being used matches one of the accelerate endpoints.
     if self._is_s3_accelerate(endpoint_url, client.meta.config.s3):
         # Also make sure that the hostname gets switched to
         # s3-accelerate.amazonaws.com
         client.meta.events.register_first('request-created.s3',
                                           switch_host_s3_accelerate)
 def _register_s3_events(self, client, endpoint_bridge, endpoint_url,
                         client_config, scoped_config):
     if client.meta.service_model.service_name != 's3':
         return
     S3RegionRedirector(endpoint_bridge, client).register()
     S3ArnParamHandler().register(client.meta.events)
     S3EndpointSetter(endpoint_resolver=self._endpoint_resolver,
                      region=client.meta.region_name,
                      s3_config=client.meta.config.s3,
                      endpoint_url=endpoint_url,
                      partition=client.meta.partition).register(
                          client.meta.events)
     self._set_s3_presign_signature_version(client.meta, client_config,
                                            scoped_config)
Example #5
0
    def _register_s3_events(self, client, endpoint_bridge, endpoint_url,
                            client_config, scoped_config):
        if client.meta.service_model.service_name != 's3':
            return
        S3RegionRedirector(endpoint_bridge, client).register()
        self._set_s3_addressing_style(endpoint_url, client.meta.config.s3,
                                      client.meta.events,
                                      client.meta.partition)
        # Enable accelerate if the configuration is set to to true or the
        # endpoint being used matches one of the accelerate endpoints.
        if self._is_s3_accelerate(endpoint_url, client.meta.config.s3):
            # Also make sure that the hostname gets switched to
            # s3-accelerate.amazonaws.com
            client.meta.events.register_first('before-sign.s3',
                                              switch_host_s3_accelerate)

        self._set_s3_presign_signature_version(client.meta, client_config,
                                               scoped_config)
Example #6
0
 def _create_s3_redirector(self, client, endpoint_bridge):
     if client.meta.service_model.service_name != 's3':
         return
     S3RegionRedirector(endpoint_bridge, client).register()