def sign(self, headers: Mapping, method=None, path=None):
        """
        Add Signature Authorization header to case-insensitive header dict.

        `headers` is a case-insensitive dict of mutable headers.
        `host` is a override for the 'host' header (defaults to value in
            headers).
        `method` is the HTTP method (required when using '(request-target)').
        `path` is the HTTP path (required when using '(request-target)').
        """
        required_headers = self.header_list
        message = generate_message(required_headers, headers, method, path)

        signature = encode_string(self._signer.sign(message), 'base64')
        ret_headers = multidict.CIMultiDict(headers)
        ret_headers['Authorization'] = self._signature_tpl % signature.decode('ascii')

        return ret_headers
def sign ( self , headers : Mapping , method = None , path = None ) : required_headers = self . header_list message = generate_message ( required_headers , headers , method , path ) signature = encode_string ( self . _signer . sign ( message ) , 'base64' ) ret_headers = multidict . CIMultiDict ( headers ) ret_headers [ 'Authorization' ] = self . _signature_tpl % signature . decode ( 'ascii' ) return ret_headers
Add Signature Authorization header to case-insensitive header dict.

        `headers` is a case-insensitive dict of mutable headers.
        `host` is a override for the 'host' header (defaults to value in
            headers).
        `method` is the HTTP method (required when using '(request-target)').
        `path` is the HTTP path (required when using '(request-target)').