17 lines
371 B
Python
17 lines
371 B
Python
from collections.abc import Callable
|
|
from typing import TypeVar
|
|
|
|
from fastapi import HTTPException, status
|
|
|
|
T = TypeVar("T")
|
|
|
|
|
|
def as_501(call: Callable[[], T]) -> T:
|
|
try:
|
|
return call()
|
|
except NotImplementedError as exc:
|
|
raise HTTPException(
|
|
status_code=status.HTTP_501_NOT_IMPLEMENTED,
|
|
detail=str(exc),
|
|
) from exc
|