Extended Types¶
This module implements the type extensions applied by SearXNG.
flask.request
is replaced bysxng_request
flask.Request
is replaced bySXNG_Request
httpx.response
is replaced bySXNG_Response
- searx.extended_types.sxng_request: SXNG_Request¶
A replacement for
flask.request
with type castSXNG_Request
.
- class searx.extended_types.SXNG_Request(environ: WSGIEnvironment, populate_request: bool = True, shallow: bool = False)[source]¶
SearXNG extends the class
flask.Request
with properties from this class definition, see type castsxng_request
.- preferences: searx.preferences.Preferences¶
The prefernces of the request.
- start_time: float¶
Start time of the request,
timeit.default_timer
added bysearx.webapp
to calculate the total time of the request.
- class searx.extended_types.SXNG_Response(status_code: int, *, headers: Headers | Mapping[str, str] | Mapping[bytes, bytes] | Sequence[Tuple[str, str]] | Sequence[Tuple[bytes, bytes]] | None = None, content: str | bytes | Iterable[bytes] | AsyncIterable[bytes] | None = None, text: str | None = None, html: str | None = None, json: Any = None, stream: SyncByteStream | AsyncByteStream | None = None, request: Request | None = None, extensions: Mapping[str, Any] | None = None, history: List[Response] | None = None, default_encoding: str | Callable[[bytes], str] = 'utf-8')[source]¶
SearXNG extends the class
httpx.Response
with properties from this class (type cast ofhttpx.Response
).response = httpx.get("https://example.org") response = typing.cast(SXNG_Response, response) if response.ok: ...