def METHOD_NAME(
    cls,
    method_,
    url_,
    api_key=None,
    idempotency_key=None,
    stripe_version=None,
    stripe_account=None,
    params=None,
):
    params = None if params is None else params.copy()
    api_key = util.read_special_variable(params, "api_key", api_key)
    idempotency_key = util.read_special_variable(
        params, "idempotency_key", idempotency_key
    )
    stripe_version = util.read_special_variable(
        params, "stripe_version", stripe_version
    )
    stripe_account = util.read_special_variable(
        params, "stripe_account", stripe_account
    )
    headers = util.read_special_variable(params, "headers", None)
    requestor = api_requestor.APIRequestor(
        api_key, api_version=stripe_version, account=stripe_account
    )
    if idempotency_key is not None:
        headers = {} if headers is None else headers.copy()
        headers.update(util.populate_headers(idempotency_key))  # type: ignore
    response, _ = requestor.request_stream(method_, url_, params, headers)
    return response