def METHOD_NAME(
    self, method, path, schema, timeout=DEFAULT_TIMEOUT, params=None
):  # pylint:disable=too-many-arguments
    """
    Send a Canvas API request, and retry it if there are OAuth problems.
    See BasicClient.send() for documentation of parameters, return value
    and exceptions raised.
    :raise OAuth2TokenError: if the request fails because our Canvas API
        access token for the user is missing, expired, or has been deleted
    """
    access_token = self._oauth2_token_service.get().access_token
    return self._client.METHOD_NAME(
        method,
        path,
        schema,
        timeout,
        params,
        headers={"Authorization": f"Bearer {access_token}"},
    )