Source code for fastrag.serve.geolocalization.dependencies

"""FastAPI dependency exposing the app's :class:`CountryResolver`."""

from __future__ import annotations

from typing import Annotated

from fastapi import Depends, Request

from fastrag.serve.geolocalization.resolver import CountryResolver


[docs] def get_country_resolver(request: Request) -> CountryResolver: """Return the :class:`CountryResolver` built once by ``create_app``. A dependency rather than a direct ``app.state`` read, so tests can swap it via ``app.dependency_overrides[get_country_resolver]``. """ return request.app.state.country_resolver
CountryResolverDep = Annotated[CountryResolver, Depends(get_country_resolver)]