

def get_oauth_signature(self, request):
    "Get an OAuth signature to be used in signing a request\n\n        To satisfy `section 3.4.1.2`_ item 2, if the request argument's\n        headers dict attribute contains a Host item, its value will\n        replace any netloc part of the request argument's uri attribute\n        value.\n\n        .. _`section 3.4.1.2`: http://tools.ietf.org/html/rfc5849#section-3.4.1.2\n        "
    if (self.signature_method == SIGNATURE_PLAINTEXT):
        return signature.sign_plaintext(self.client_secret, self.resource_owner_secret)
    (uri, headers, body) = self._render(request)
    collected_params = signature.collect_parameters(uri_query=urlparse.urlparse(uri).query, body=body, headers=headers)
    log.debug('Collected params: {0}'.format(collected_params))
    normalized_params = signature.normalize_parameters(collected_params)
    normalized_uri = signature.normalize_base_string_uri(uri, headers.get('Host', None))
    log.debug('Normalized params: {0}'.format(normalized_params))
    log.debug('Normalized URI: {0}'.format(normalized_uri))
    base_string = signature.construct_base_string(request.http_method, normalized_uri, normalized_params)
    log.debug('Base signing string: {0}'.format(headers))
    if (self.signature_method not in self.SIGNATURE_METHODS):
        raise ValueError('Invalid signature method.')
    sig = self.SIGNATURE_METHODS[self.signature_method](base_string, self)
    log.debug('Signature: {0}'.format(sig))
    return sig

dataset/ETHPy150Open idan/oauthlib/oauthlib/oauth1/rfc5849/__init__.py Client.get_oauth_signature/VarMisuse@167/416 `base_string`->`headers`