Skip to content

fasthx.dependencies

DependsHXRequest = Annotated[Request | None, Depends(get_hx_request)] module-attribute

Annotated type (dependency) for get_hx_request() for FastAPI.

DependsPageRequest = Annotated[Request, Depends(get_page_request)] module-attribute

Annotated Request dependency alias.

Workaround for this FastAPI bug: https://github.com/fastapi/fastapi/discussions/12403

get_hx_request(request, hx_request=None)

FastAPI dependency that returns the current request if it is an HTMX one, i.e. it contains an "HX-Request: true" header.

Source code in fasthx/dependencies.py
def get_hx_request(
    request: FARequest, hx_request: Annotated[str | None, Header()] = None
) -> Request | None:
    """
    FastAPI dependency that returns the current request if it is an HTMX one,
    i.e. it contains an `"HX-Request: true"` header.
    """
    return request if hx_request == "true" else None

get_page_request(request)

Replacement dependency for Request to work around this FastAPI bug: https://github.com/fastapi/fastapi/discussions/12403.

Source code in fasthx/dependencies.py
def get_page_request(request: FARequest) -> Request:
    """
    Replacement dependency for `Request` to work around this FastAPI bug:
    https://github.com/fastapi/fastapi/discussions/12403.
    """
    return request