def get_signed_header(self, region_id, ak, secret): """ Generate signed header :param region_id: String :param ak: String :param secret: String :return: Dict """ sign_params = self._get_sign_params() if self.get_content() is not None: self.add_header( 'Content-MD5', md5_sum(self.get_content())) if 'RegionId' not in sign_params.keys(): sign_params['RegionId'] = region_id self.add_header('x-acs-region-id', str(region_id)) signed_headers, sign_to_string = roa_signer.get_signature_headers( sign_params, ak, secret, self.get_accept_format(), self.get_headers(), self.get_uri_pattern(), self.get_path_params(), self.get_method()) self.string_to_sign = sign_to_string return signed_headers
def set_content(self, content, encoding, format=format_type.RAW): self.__content = content if content is None: self.remove_header_parameter(self.content_md5) self.remove_header_parameter(self.content_type) self.remove_header_parameter(self.content_length) self.__content_type = None self.__encoding = None else: str_md5 = helper.md5_sum(content) content_length = len(content) self.__headers[self.content_md5] = str_md5 self.__headers[self.content_length] = str(content_length) self.__headers[self.content_type] = format self.__encoding = encoding
def test_md5_sum(self): self.assertEqual("ERIHLmRX2uZmssDdxQnnxQ==", helper.md5_sum("That's all folks!!")) self.assertEqual("GsJRdI3kAbAnHo/0+3wWJw==", helper.md5_sum("中文也没啥问题"))
def md5_sum(self, content): return helper.md5_sum(content)