Skip to content

resolve_context_by_name

faststream.utils.context.types.resolve_context_by_name #

resolve_context_by_name(name, default, initial)
Source code in faststream/utils/context/types.py
def resolve_context_by_name(
    name: str,
    default: Any,
    initial: Optional[Callable[..., Any]],
) -> Any:
    value: Any = EMPTY

    try:
        value = context.resolve(name)

    except (KeyError, AttributeError):
        if default != EMPTY:
            value = default

        elif initial is not None:
            value = initial()
            context.set_global(name, value)

    return value