in atr/routes/__init__.py [0:0]
def decorator(func: CommitterRouteHandler[R]) -> RouteHandler[R]:
async def wrapper(*args: Any, **kwargs: Any) -> R:
web_session = await session.read()
if web_session is None:
_authentication_failed()
enhanced_session = CommitterSession(web_session)
return await func(enhanced_session, *args, **kwargs)
# Generate a unique endpoint name
endpoint = func.__module__ + "_" + func.__name__
# Set the name before applying decorators
wrapper.__name__ = func.__name__
wrapper.__doc__ = func.__doc__
wrapper.__annotations__["endpoint"] = endpoint
# Apply decorators in reverse order
decorated = auth.require(auth.Requirements.committer)(wrapper)
decorated = app_route(
path, methods=methods or ["GET"], endpoint=endpoint, measure_performance=measure_performance
)(decorated)
return decorated