def METHOD_NAME(
    self,
    method: str,
    headers: dict,
    data: dict,
    url: str,
    auth: typing.Union[typing.Optional[typing.Tuple[str, str]], AuthBase],
) -> RequestsResponse:
    """
    :param auth: should be a username,password tuple or AuthBase requests lib object
    """
    return requests.request(
        method=method,
        # FIXME BS 2018-11-29: Exclude some headers (like basic auth)
        headers=headers,
        data=data,
        url=url,
        auth=auth,
    )