async def METHOD_NAME(
    self,
    url: str,
    method: Literal["get", "post", "patch", "put", "delete"],
    headers: Optional[Dict[str, str]] = None,
    **kwargs: Any,
) -> Response:
    loop = asyncio.get_running_loop()
    ctx = contextvars.copy_context()
    func_call = functools.partial(
        ctx.run, self._do_request, url=url, method=method, headers=headers, **kwargs
    )
    return await loop.run_in_executor(None, func_call)  # type: ignore