def _bce_sms_sign(credentials, http_method, path, headers, params, timestamp=0, expiration_in_seconds=1800, headers_to_sign=None): headers_to_sign_list = ["host", "content-md5", "content-length", "content-type"] if headers_to_sign is None or len(headers_to_sign) == 0: headers_to_sign = [] for k in headers: k_lower = k.strip().lower() if k_lower.startswith(http_headers.BCE_PREFIX) or k_lower in headers_to_sign_list: headers_to_sign.append(k_lower) headers_to_sign.sort() else: for k in headers: k_lower = k.strip().lower() if k_lower.startswith(http_headers.BCE_PREFIX): headers_to_sign.append(k_lower) headers_to_sign.sort() return bce_v1_signer.sign(credentials, http_method, path, headers, params, timestamp, expiration_in_seconds, headers_to_sign)
def _bce_sms_sign(credentials, http_method, path, headers, params, timestamp=0, expiration_in_seconds=1800, headers_to_sign=None): headers_to_sign_list = ["host", "content-md5", "content-length", "content-type"] if headers_to_sign is None or len(headers_to_sign) == 0: headers_to_sign = [] for k in headers: k_lower = k.strip().lower() if k_lower.startswith(http_headers.BCE_PREFIX) or k_lower in headers_to_sign_list: headers_to_sign.append(k_lower) headers_to_sign.sort() else: for k in headers: k_lower = k.strip().lower() if k_lower.startswith(http_headers.BCE_PREFIX): headers_to_sign.append(k_lower) headers_to_sign.sort() return bce_v1_signer.sign(credentials, http_method, path, headers, params, timestamp, expiration_in_seconds, headers_to_sign)
def _wrapper(credentials, http_method, path, headers, params): return bce_v1_signer.sign(credentials, http_method, path, headers, params, headers_to_sign=headers_to_sign)
def generate_pre_signed_url(self, bucket_name, key, timestamp=0, expiration_in_seconds=1800, headers=None, params=None, headers_to_sign=None, protocol=None, config=None): """ Get an authorization url with expire time :type timestamp: int :param timestamp: None :type expiration_in_seconds: int :param expiration_in_seconds: None :type options: dict :param options: None :return: **URL string** """ config = self._merge_config(config) headers = headers or {} params = params or {} # specified protocol > protocol in endpoint > default protocol endpoint_protocol, endpoint_host, endpoint_port = \ utils.parse_host_port(config.endpoint, config.protocol) protocol = protocol or endpoint_protocol full_host = endpoint_host if endpoint_port != config.protocol.default_port: full_host += ':' + str(endpoint_port) headers[http_headers.HOST] = full_host path = self._get_path(config, bucket_name, key) params[http_headers.AUTHORIZATION.lower()] = bce_v1_signer.sign( config.credentials, http_methods.GET, path, headers, params, timestamp, expiration_in_seconds, headers_to_sign) return "%s://%s%s?%s" % (protocol.name, full_host, path, utils.get_canonical_querystring(params, False))
def generate_pre_signed_url(self, bucket_name, key, timestamp=0, expiration_in_seconds=1800, headers=None, params=None, headers_to_sign=None, protocol=None, config=None): """ Get an authorization url with expire time :type timestamp: int :param timestamp: None :type expiration_in_seconds: int :param expiration_in_seconds: None :type options: dict :param options: None :return: **URL string** """ config = self._merge_config(config) headers = headers or {} params = params or {} # specified protocol > protocol in endpoint > default protocol endpoint_protocol, endpoint_host, endpoint_port = \ utils.parse_host_port(config.endpoint, config.protocol) protocol = protocol or endpoint_protocol full_host = endpoint_host if endpoint_port != config.protocol.default_port: full_host += ':' + str(endpoint_port) headers[http_headers.HOST] = full_host path = self._get_path(config, bucket_name, key) params[http_headers.AUTHORIZATION.lower()] = bce_v1_signer.sign( config.credentials, http_methods.GET, path, headers, params, timestamp, expiration_in_seconds, headers_to_sign) return "%s://%s%s?%s" % (protocol.name, full_host, path, utils.get_canonical_querystring(params, False))
def _wrapper(credentials, http_method, path, headers, params): credentials.access_key_id = compat.convert_to_bytes( credentials.access_key_id) credentials.secret_access_key = compat.convert_to_bytes( credentials.secret_access_key) return bce_v1_signer.sign(credentials, compat.convert_to_bytes(http_method), compat.convert_to_bytes(path), headers, params, headers_to_sign=headers_to_sign)
def generate_pre_signed_url(self, bucket_name, key, timestamp=0, expiration_in_seconds=1800, headers=None, params=None, headers_to_sign=None, protocol=None, config=None): """ Get an authorization url with expire time :type timestamp: int :param timestamp: None :type expiration_in_seconds: int :param expiration_in_seconds: None :type options: dict :param options: None :return: **URL string** """ config = self._merge_config(config) headers = headers or {} params = params or {} protocol = protocol or bce_client_configuration.DEFAULT_PROTOCOL.name headers[http_headers.HOST] = config.endpoint path = self._get_path(config, bucket_name, key) params[http_headers.AUTHORIZATION.lower()] = bce_v1_signer.sign( config.credentials, http_methods.GET, self._get_path(config, bucket_name, key), headers, params, timestamp, expiration_in_seconds, headers_to_sign) return "%s://%s%s?%s" % (protocol, config.endpoint, path, utils.get_canonical_querystring(params, False))
def _wrapper(credentials, http_method, path, headers, params): return bce_v1_signer.sign(credentials, http_method, path, headers, params, headers_to_sign=headers_to_sign)