Utils
- class falcon_auth2.RequestAttributes(req: falcon.request.Request, resp: falcon.response.Response, resource: Any, params: dict, is_async: bool)[source]
Named tuple that is passed to the backend
authenticate()
when a request is performed.- req: falcon.request.Request
The falcon request.
- resp: falcon.response.Response
The falcon response.
- resource: Any
The falcon responder resource.
- params: dict
The parameters of passed in the url.
- is_async: bool
Indicates that authenticate is running in async mode.
Async utilities
- async falcon_auth2.utils.greenlet_spawn(fn: Callable, *args, **kwargs) Any [source]
Runs a sync function
fn
in a new greenlet.The sync function can then use
await_()
to wait for async functions.- Parameters
fn (Callable) – The sync callable to call.
*args – Positional arguments to pass to the
fn
callable.**kwargs – Keyword arguments to pass to the
fn
callable.
- Returns
Any – The return value of
fn
or raises an exception if it raised one.
- falcon_auth2.utils.await_(awaitable: Coroutine) Any [source]
Awaits an async function in a sync method.
The sync method must be insice a
greenlet_spawn()
context.await_()
calls cannot be nested.- Parameters
awaitable (Coroutine) – The coroutine to call.
- Raises
RuntimeError – If
await_
was called outside agreenlet_spawn()
context or nested in anotherawait_
call.- Returns
Any – The return value of
awaitable
or raises an exception if it raised one.
- falcon_auth2.utils.call_maybe_async(support_async: bool, function_is_async: Optional[bool], err_msg: str, function: Callable, *args, **kwargs) Tuple[Any, bool] [source]
Calls a function and waits for the result if it is async.
- Parameters
support_async (bool) – Can run async cuntions.
function_is_async (Optional[bool]) – If the function is async. This function will determine if
function
is async when this parameter isNone
.err_msg (str) – Name of the function. Used in case of error.
function (Callable) – The function to call.
*args – Positional arguments to pass to the
function
callable.**kwargs – Keyword arguments to pass to the
function
callable.
- Raises
TypeError – if
function
is async andsupport_async=False
.- Returns
Tuple[Any, bool] – Returns the result and whatever the function is async.