def METHOD_NAME(
    request_func: Callable[..., Awaitable[Response]]
) -> Callable[..., Awaitable[Response]]:
    assert asyncio.iscoroutinefunction(request_func)
    @functools.wraps(request_func)
    async def request_wrapper(zelf: "BaseThinClient", *args, **kwargs) -> Response:
        response = await request_func(zelf, *args, **kwargs)
        if response.status_code != expected_code:
            raise UnexpectedStatusError(response, expected_code)
        return response
    return request_wrapper