SYMBOL INDEX (1197 symbols across 64 files) FILE: docs/js/custom.js function shuffle (line 1) | function shuffle(array) { function showRandomAnnouncement (line 13) | async function showRandomAnnouncement(groupId, timeInterval) { function main (line 29) | async function main() { FILE: starlette/_exception_handler.py function _lookup_exception_handler (line 16) | def _lookup_exception_handler(exc_handlers: ExceptionHandlers, exc: Exce... function wrap_app_handling_exceptions (line 23) | def wrap_app_handling_exceptions(app: ASGIApp, conn: Request | WebSocket... FILE: starlette/_utils.py function is_async_callable (line 31) | def is_async_callable(obj: AwaitableCallable[T]) -> TypeIs[AwaitableCall... function is_async_callable (line 35) | def is_async_callable(obj: Any) -> TypeIs[AwaitableCallable[Any]]: ... function is_async_callable (line 38) | def is_async_callable(obj: Any) -> Any: class AwaitableOrContextManager (line 48) | class AwaitableOrContextManager( class SupportsAsyncClose (line 53) | class SupportsAsyncClose(Protocol): method close (line 54) | async def close(self) -> None: ... # pragma: no cover class AwaitableOrContextManagerWrapper (line 60) | class AwaitableOrContextManagerWrapper(Generic[SupportsAsyncCloseType]): method __init__ (line 63) | def __init__(self, aw: Awaitable[SupportsAsyncCloseType]) -> None: method __await__ (line 66) | def __await__(self) -> Generator[Any, None, SupportsAsyncCloseType]: method __aenter__ (line 69) | async def __aenter__(self) -> SupportsAsyncCloseType: method __aexit__ (line 73) | async def __aexit__(self, *args: Any) -> None | bool: function collapse_excgroups (line 79) | def collapse_excgroups() -> Generator[None, None, None]: function get_route_path (line 90) | def get_route_path(scope: Scope) -> str: FILE: starlette/applications.py class Starlette (line 19) | class Starlette: method __init__ (line 22) | def __init__( method build_middleware_stack (line 57) | def build_middleware_stack(self) -> ASGIApp: method routes (line 80) | def routes(self) -> list[BaseRoute]: method url_path_for (line 83) | def url_path_for(self, name: str, /, **path_params: Any) -> URLPath: method __call__ (line 86) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... method mount (line 92) | def mount(self, path: str, app: ASGIApp, name: str | None = None) -> N... method host (line 95) | def host(self, host: str, app: ASGIApp, name: str | None = None) -> None: method add_middleware (line 98) | def add_middleware(self, middleware_class: _MiddlewareFactory[P], *arg... method add_exception_handler (line 103) | def add_exception_handler( method add_route (line 110) | def add_route( FILE: starlette/authentication.py function has_required_scope (line 18) | def has_required_scope(conn: HTTPConnection, scopes: Sequence[str]) -> b... function requires (line 25) | def requires( class AuthenticationError (line 94) | class AuthenticationError(Exception): class AuthenticationBackend (line 98) | class AuthenticationBackend: method authenticate (line 99) | async def authenticate(self, conn: HTTPConnection) -> tuple[AuthCreden... class AuthCredentials (line 103) | class AuthCredentials: method __init__ (line 104) | def __init__(self, scopes: Sequence[str] | None = None): class BaseUser (line 108) | class BaseUser: method is_authenticated (line 110) | def is_authenticated(self) -> bool: method display_name (line 114) | def display_name(self) -> str: method identity (line 118) | def identity(self) -> str: class SimpleUser (line 122) | class SimpleUser(BaseUser): method __init__ (line 123) | def __init__(self, username: str) -> None: method is_authenticated (line 127) | def is_authenticated(self) -> bool: method display_name (line 131) | def display_name(self) -> str: class UnauthenticatedUser (line 135) | class UnauthenticatedUser(BaseUser): method is_authenticated (line 137) | def is_authenticated(self) -> bool: method display_name (line 141) | def display_name(self) -> str: FILE: starlette/background.py class BackgroundTask (line 12) | class BackgroundTask: method __init__ (line 13) | def __init__(self, func: Callable[P, Any], *args: P.args, **kwargs: P.... method __call__ (line 19) | async def __call__(self) -> None: class BackgroundTasks (line 26) | class BackgroundTasks(BackgroundTask): method __init__ (line 27) | def __init__(self, tasks: Sequence[BackgroundTask] | None = None): method add_task (line 30) | def add_task(self, func: Callable[P, Any], *args: P.args, **kwargs: P.... method __call__ (line 34) | async def __call__(self) -> None: FILE: starlette/concurrency.py function run_until_first_complete (line 14) | async def run_until_first_complete(*args: tuple[Callable, dict]) -> None... function run_in_threadpool (line 30) | async def run_in_threadpool(func: Callable[P, T], *args: P.args, **kwarg... class _StopIteration (line 35) | class _StopIteration(Exception): function _next (line 39) | def _next(iterator: Iterator[T]) -> T: function iterate_in_threadpool (line 49) | async def iterate_in_threadpool( FILE: starlette/config.py class undefined (line 10) | class undefined: class EnvironError (line 14) | class EnvironError(Exception): class Environ (line 18) | class Environ(MutableMapping[str, str]): method __init__ (line 19) | def __init__(self, environ: MutableMapping[str, str] = os.environ): method __getitem__ (line 23) | def __getitem__(self, key: str) -> str: method __setitem__ (line 27) | def __setitem__(self, key: str, value: str) -> None: method __delitem__ (line 32) | def __delitem__(self, key: str) -> None: method __iter__ (line 37) | def __iter__(self) -> Iterator[str]: method __len__ (line 40) | def __len__(self) -> int: class Config (line 49) | class Config: method __init__ (line 50) | def __init__( method __call__ (line 67) | def __call__(self, key: str, *, default: None) -> str | None: ... method __call__ (line 70) | def __call__(self, key: str, cast: type[T], default: T = ...) -> T: ... method __call__ (line 73) | def __call__(self, key: str, cast: type[str] = ..., default: str = ...... method __call__ (line 76) | def __call__( method __call__ (line 84) | def __call__(self, key: str, cast: type[str] = ..., default: T = ...) ... method __call__ (line 86) | def __call__( method get (line 94) | def get( method _read_file (line 111) | def _read_file(self, file_name: str | Path, encoding: str) -> dict[str... method _perform_cast (line 123) | def _perform_cast( FILE: starlette/convertors.py class Convertor (line 10) | class Convertor(Generic[T]): method convert (line 13) | def convert(self, value: str) -> T: method to_string (line 16) | def to_string(self, value: T) -> str: class StringConvertor (line 20) | class StringConvertor(Convertor[str]): method convert (line 23) | def convert(self, value: str) -> str: method to_string (line 26) | def to_string(self, value: str) -> str: class PathConvertor (line 33) | class PathConvertor(Convertor[str]): method convert (line 36) | def convert(self, value: str) -> str: method to_string (line 39) | def to_string(self, value: str) -> str: class IntegerConvertor (line 43) | class IntegerConvertor(Convertor[int]): method convert (line 46) | def convert(self, value: str) -> int: method to_string (line 49) | def to_string(self, value: int) -> str: class FloatConvertor (line 55) | class FloatConvertor(Convertor[float]): method convert (line 58) | def convert(self, value: str) -> float: method to_string (line 61) | def to_string(self, value: float) -> str: class UUIDConvertor (line 69) | class UUIDConvertor(Convertor[uuid.UUID]): method convert (line 72) | def convert(self, value: str) -> uuid.UUID: method to_string (line 75) | def to_string(self, value: uuid.UUID) -> str: function register_url_convertor (line 88) | def register_url_convertor(key: str, convertor: Convertor[Any]) -> None: FILE: starlette/datastructures.py class Address (line 18) | class Address(NamedTuple): class URL (line 30) | class URL: method __init__ (line 31) | def __init__( method components (line 72) | def components(self) -> SplitResult: method scheme (line 78) | def scheme(self) -> str: method netloc (line 82) | def netloc(self) -> str: method path (line 86) | def path(self) -> str: method query (line 90) | def query(self) -> str: method fragment (line 94) | def fragment(self) -> str: method username (line 98) | def username(self) -> None | str: method password (line 102) | def password(self) -> None | str: method hostname (line 106) | def hostname(self) -> None | str: method port (line 110) | def port(self) -> int | None: method is_secure (line 114) | def is_secure(self) -> bool: method replace (line 117) | def replace(self, **kwargs: Any) -> URL: method include_query_params (line 145) | def include_query_params(self, **kwargs: Any) -> URL: method replace_query_params (line 151) | def replace_query_params(self, **kwargs: Any) -> URL: method remove_query_params (line 155) | def remove_query_params(self, keys: str | Sequence[str]) -> URL: method __eq__ (line 164) | def __eq__(self, other: Any) -> bool: method __str__ (line 167) | def __str__(self) -> str: method __repr__ (line 170) | def __repr__(self) -> str: class URLPath (line 177) | class URLPath(str): method __new__ (line 183) | def __new__(cls, path: str, protocol: str = "", host: str = "") -> URL... method __init__ (line 187) | def __init__(self, path: str, protocol: str = "", host: str = "") -> N... method make_absolute_url (line 191) | def make_absolute_url(self, base_url: str | URL) -> URL: class Secret (line 207) | class Secret: method __init__ (line 213) | def __init__(self, value: str): method __repr__ (line 216) | def __repr__(self) -> str: method __str__ (line 220) | def __str__(self) -> str: method __bool__ (line 223) | def __bool__(self) -> bool: class CommaSeparatedStrings (line 227) | class CommaSeparatedStrings(Sequence[str]): method __init__ (line 228) | def __init__(self, value: str | Sequence[str]): method __len__ (line 237) | def __len__(self) -> int: method __getitem__ (line 240) | def __getitem__(self, index: int | slice) -> Any: method __iter__ (line 243) | def __iter__(self) -> Iterator[str]: method __repr__ (line 246) | def __repr__(self) -> str: method __str__ (line 251) | def __str__(self) -> str: class ImmutableMultiDict (line 255) | class ImmutableMultiDict(Mapping[_KeyType, _CovariantValueType]): method __init__ (line 258) | def __init__( method getlist (line 286) | def getlist(self, key: Any) -> list[_CovariantValueType]: method keys (line 289) | def keys(self) -> KeysView[_KeyType]: method values (line 292) | def values(self) -> ValuesView[_CovariantValueType]: method items (line 295) | def items(self) -> ItemsView[_KeyType, _CovariantValueType]: method multi_items (line 298) | def multi_items(self) -> list[tuple[_KeyType, _CovariantValueType]]: method __getitem__ (line 301) | def __getitem__(self, key: _KeyType) -> _CovariantValueType: method __contains__ (line 304) | def __contains__(self, key: Any) -> bool: method __iter__ (line 307) | def __iter__(self) -> Iterator[_KeyType]: method __len__ (line 310) | def __len__(self) -> int: method __eq__ (line 313) | def __eq__(self, other: Any) -> bool: method __repr__ (line 318) | def __repr__(self) -> str: class MultiDict (line 324) | class MultiDict(ImmutableMultiDict[Any, Any]): method __setitem__ (line 325) | def __setitem__(self, key: Any, value: Any) -> None: method __delitem__ (line 328) | def __delitem__(self, key: Any) -> None: method pop (line 332) | def pop(self, key: Any, default: Any = None) -> Any: method popitem (line 336) | def popitem(self) -> tuple[Any, Any]: method poplist (line 341) | def poplist(self, key: Any) -> list[Any]: method clear (line 346) | def clear(self) -> None: method setdefault (line 350) | def setdefault(self, key: Any, default: Any = None) -> Any: method setlist (line 357) | def setlist(self, key: Any, values: list[Any]) -> None: method append (line 365) | def append(self, key: Any, value: Any) -> None: method update (line 369) | def update( class QueryParams (line 380) | class QueryParams(ImmutableMultiDict[str, str]): method __init__ (line 385) | def __init__( method __str__ (line 403) | def __str__(self) -> str: method __repr__ (line 406) | def __repr__(self) -> str: class UploadFile (line 412) | class UploadFile: method __init__ (line 417) | def __init__( method content_type (line 435) | def content_type(self) -> str | None: method _in_memory (line 439) | def _in_memory(self) -> bool: method _will_roll (line 444) | def _will_roll(self, size_to_add: int) -> bool: method write (line 453) | async def write(self, data: bytes) -> None: method read (line 463) | async def read(self, size: int = -1) -> bytes: method seek (line 468) | async def seek(self, offset: int) -> None: method close (line 474) | async def close(self) -> None: method __repr__ (line 480) | def __repr__(self) -> str: class FormData (line 484) | class FormData(ImmutableMultiDict[str, UploadFile | str]): method __init__ (line 489) | def __init__( method close (line 496) | async def close(self) -> None: class Headers (line 502) | class Headers(Mapping[str, str]): method __init__ (line 507) | def __init__( method raw (line 527) | def raw(self) -> list[tuple[bytes, bytes]]: method keys (line 530) | def keys(self) -> list[str]: # type: ignore[override] method values (line 533) | def values(self) -> list[str]: # type: ignore[override] method items (line 536) | def items(self) -> list[tuple[str, str]]: # type: ignore[override] method getlist (line 539) | def getlist(self, key: str) -> list[str]: method mutablecopy (line 543) | def mutablecopy(self) -> MutableHeaders: method __getitem__ (line 546) | def __getitem__(self, key: str) -> str: method __contains__ (line 553) | def __contains__(self, key: Any) -> bool: method __iter__ (line 560) | def __iter__(self) -> Iterator[Any]: method __len__ (line 563) | def __len__(self) -> int: method __eq__ (line 566) | def __eq__(self, other: Any) -> bool: method __repr__ (line 571) | def __repr__(self) -> str: class MutableHeaders (line 579) | class MutableHeaders(Headers): method __setitem__ (line 580) | def __setitem__(self, key: str, value: str) -> None: method __delitem__ (line 602) | def __delitem__(self, key: str) -> None: method __ior__ (line 616) | def __ior__(self, other: Mapping[str, str]) -> MutableHeaders: method __or__ (line 622) | def __or__(self, other: Mapping[str, str]) -> MutableHeaders: method raw (line 630) | def raw(self) -> list[tuple[bytes, bytes]]: method setdefault (line 633) | def setdefault(self, key: str, value: str) -> str: method update (line 647) | def update(self, other: Mapping[str, str]) -> None: method append (line 651) | def append(self, key: str, value: str) -> None: method add_vary_header (line 659) | def add_vary_header(self, vary: str) -> None: class State (line 666) | class State: method __init__ (line 675) | def __init__(self, state: dict[str, Any] | None = None): method __setattr__ (line 680) | def __setattr__(self, key: Any, value: Any) -> None: method __getattr__ (line 683) | def __getattr__(self, key: Any) -> Any: method __delattr__ (line 690) | def __delattr__(self, key: Any) -> None: method __getitem__ (line 693) | def __getitem__(self, key: str) -> Any: method __setitem__ (line 696) | def __setitem__(self, key: str, value: Any) -> None: method __delitem__ (line 699) | def __delitem__(self, key: str) -> None: method __iter__ (line 702) | def __iter__(self) -> Iterator[str]: method __len__ (line 705) | def __len__(self) -> int: FILE: starlette/endpoints.py class HTTPEndpoint (line 17) | class HTTPEndpoint: method __init__ (line 18) | def __init__(self, scope: Scope, receive: Receive, send: Send) -> None: method __await__ (line 29) | def __await__(self) -> Generator[Any, None, None]: method dispatch (line 32) | async def dispatch(self) -> None: method method_not_allowed (line 44) | async def method_not_allowed(self, request: Request) -> Response: class WebSocketEndpoint (line 54) | class WebSocketEndpoint: method __init__ (line 57) | def __init__(self, scope: Scope, receive: Receive, send: Send) -> None: method __await__ (line 63) | def __await__(self) -> Generator[Any, None, None]: method dispatch (line 66) | async def dispatch(self) -> None: method decode (line 87) | async def decode(self, websocket: WebSocket, message: Message) -> Any: method on_connect (line 115) | async def on_connect(self, websocket: WebSocket) -> None: method on_receive (line 119) | async def on_receive(self, websocket: WebSocket, data: Any) -> None: method on_disconnect (line 122) | async def on_disconnect(self, websocket: WebSocket, close_code: int) -... FILE: starlette/exceptions.py class HTTPException (line 7) | class HTTPException(Exception): method __init__ (line 8) | def __init__(self, status_code: int, detail: str | None = None, header... method __str__ (line 15) | def __str__(self) -> str: method __repr__ (line 18) | def __repr__(self) -> str: class WebSocketException (line 23) | class WebSocketException(Exception): method __init__ (line 24) | def __init__(self, code: int, reason: str | None = None) -> None: method __str__ (line 28) | def __str__(self) -> str: method __repr__ (line 31) | def __repr__(self) -> str: FILE: starlette/formparsers.py class FormMessage (line 28) | class FormMessage(Enum): class MultipartPart (line 37) | class MultipartPart: function _user_safe_decode (line 45) | def _user_safe_decode(src: bytes | bytearray, codec: str) -> str: class MultiPartException (line 52) | class MultiPartException(Exception): method __init__ (line 53) | def __init__(self, message: str) -> None: class FormParser (line 57) | class FormParser: method __init__ (line 58) | def __init__(self, headers: Headers, stream: AsyncGenerator[bytes, Non... method on_field_start (line 64) | def on_field_start(self) -> None: method on_field_name (line 68) | def on_field_name(self, data: bytes, start: int, end: int) -> None: method on_field_data (line 72) | def on_field_data(self, data: bytes, start: int, end: int) -> None: method on_field_end (line 76) | def on_field_end(self) -> None: method on_end (line 80) | def on_end(self) -> None: method parse (line 84) | async def parse(self) -> FormData: class MultiPartParser (line 125) | class MultiPartParser: method __init__ (line 131) | def __init__( method on_part_begin (line 157) | def on_part_begin(self) -> None: method on_part_data (line 160) | def on_part_data(self, data: bytes, start: int, end: int) -> None: method on_part_end (line 169) | def on_part_end(self) -> None: method on_header_field (line 184) | def on_header_field(self, data: bytes, start: int, end: int) -> None: method on_header_value (line 187) | def on_header_value(self, data: bytes, start: int, end: int) -> None: method on_header_end (line 190) | def on_header_end(self) -> None: method on_headers_finished (line 198) | def on_headers_finished(self) -> None: method on_end (line 223) | def on_end(self) -> None: method parse (line 226) | async def parse(self) -> FormData: FILE: starlette/middleware/__init__.py class _MiddlewareFactory (line 17) | class _MiddlewareFactory(Protocol[P]): method __call__ (line 18) | def __call__(self, app: _ASGIApp, /, *args: P.args, **kwargs: P.kwargs... class Middleware (line 21) | class Middleware: method __init__ (line 22) | def __init__(self, cls: _MiddlewareFactory[P], *args: P.args, **kwargs... method __iter__ (line 27) | def __iter__(self) -> Iterator[Any]: method __repr__ (line 31) | def __repr__(self) -> str: FILE: starlette/middleware/authentication.py class AuthenticationMiddleware (line 16) | class AuthenticationMiddleware: method __init__ (line 17) | def __init__( method __call__ (line 29) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... method default_on_error (line 51) | def default_on_error(conn: HTTPConnection, exc: Exception) -> Response: FILE: starlette/middleware/base.py class _CachedRequest (line 20) | class _CachedRequest(Request): method __init__ (line 28) | def __init__(self, scope: Scope, receive: Receive): method wrapped_receive (line 34) | async def wrapped_receive(self) -> Message: class BaseHTTPMiddleware (line 96) | class BaseHTTPMiddleware: method __init__ (line 97) | def __init__(self, app: ASGIApp, dispatch: DispatchFunction | None = N... method __call__ (line 101) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... method dispatch (line 200) | async def dispatch(self, request: Request, call_next: RequestResponseE... class _StreamingResponse (line 204) | class _StreamingResponse(Response): method __init__ (line 205) | def __init__( method __call__ (line 220) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... FILE: starlette/middleware/cors.py class CORSMiddleware (line 15) | class CORSMiddleware: method __init__ (line 16) | def __init__( method __call__ (line 78) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... method is_allowed_origin (line 98) | def is_allowed_origin(self, origin: str) -> bool: method preflight_response (line 107) | def preflight_response(self, request_headers: Headers) -> Response: method simple_response (line 152) | async def simple_response(self, scope: Scope, receive: Receive, send: ... method send (line 156) | async def send(self, message: Message, send: Send, request_headers: He... method allow_explicit_origin (line 177) | def allow_explicit_origin(headers: MutableHeaders, origin: str) -> None: FILE: starlette/middleware/errors.py class ServerErrorMiddleware (line 127) | class ServerErrorMiddleware: method __init__ (line 139) | def __init__( method __call__ (line 149) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... method format_line (line 188) | def format_line(self, index: int, line: str, frame_lineno: int, frame_... method generate_frame_html (line 199) | def generate_frame_html(self, frame: inspect.FrameInfo, is_collapsed: ... method generate_html (line 224) | def generate_html(self, exc: Exception, limit: int = 7) -> str: method generate_plain_text (line 246) | def generate_plain_text(self, exc: Exception) -> str: method debug_response (line 249) | def debug_response(self, request: Request, exc: Exception) -> Response: method error_response (line 258) | def error_response(self, request: Request, exc: Exception) -> Response: FILE: starlette/middleware/exceptions.py class ExceptionMiddleware (line 18) | class ExceptionMiddleware: method __init__ (line 19) | def __init__( method add_exception_handler (line 36) | def add_exception_handler( method __call__ (line 47) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... method http_exception (line 65) | async def http_exception(self, request: Request, exc: Exception) -> Re... method websocket_exception (line 71) | async def websocket_exception(self, websocket: WebSocket, exc: Excepti... FILE: starlette/middleware/gzip.py class GZipMiddleware (line 11) | class GZipMiddleware: method __init__ (line 12) | def __init__(self, app: ASGIApp, minimum_size: int = 500, compressleve... method __call__ (line 17) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... class IdentityResponder (line 32) | class IdentityResponder: method __init__ (line 35) | def __init__(self, app: ASGIApp, minimum_size: int) -> None: method __call__ (line 44) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... method send_with_compression (line 48) | async def send_with_compression(self, message: Message) -> None: method apply_compression (line 109) | def apply_compression(self, body: bytes, *, more_body: bool) -> bytes: class GZipResponder (line 119) | class GZipResponder(IdentityResponder): method __init__ (line 122) | def __init__(self, app: ASGIApp, minimum_size: int, compresslevel: int... method __call__ (line 128) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... method apply_compression (line 132) | def apply_compression(self, body: bytes, *, more_body: bool) -> bytes: function unattached_send (line 144) | async def unattached_send(message: Message) -> NoReturn: FILE: starlette/middleware/httpsredirect.py class HTTPSRedirectMiddleware (line 6) | class HTTPSRedirectMiddleware: method __init__ (line 7) | def __init__(self, app: ASGIApp) -> None: method __call__ (line 10) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... FILE: starlette/middleware/sessions.py class SessionMiddleware (line 16) | class SessionMiddleware: method __init__ (line 17) | def __init__( method __call__ (line 39) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... class Session (line 91) | class Session(dict[str, typing.Any]): method mark_accessed (line 95) | def mark_accessed(self) -> None: method mark_modified (line 98) | def mark_modified(self) -> None: method __setitem__ (line 102) | def __setitem__(self, key: str, value: typing.Any) -> None: method __delitem__ (line 106) | def __delitem__(self, key: str) -> None: method clear (line 110) | def clear(self) -> None: method pop (line 114) | def pop(self, key: str, *args: typing.Any) -> typing.Any: method setdefault (line 118) | def setdefault(self, key: str, default: typing.Any = None) -> typing.Any: method update (line 123) | def update(self, *args: typing.Any, **kwargs: typing.Any) -> None: FILE: starlette/middleware/trustedhost.py class TrustedHostMiddleware (line 12) | class TrustedHostMiddleware: method __init__ (line 13) | def __init__( method __call__ (line 31) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... FILE: starlette/middleware/wsgi.py function build_environ (line 23) | def build_environ(scope: Scope, body: bytes) -> dict[str, Any]: class WSGIMiddleware (line 75) | class WSGIMiddleware: method __init__ (line 76) | def __init__(self, app: Callable[..., Any]) -> None: method __call__ (line 79) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... class WSGIResponder (line 85) | class WSGIResponder: method __init__ (line 89) | def __init__(self, app: Callable[..., Any], scope: Scope) -> None: method __call__ (line 98) | async def __call__(self, receive: Receive, send: Send) -> None: method sender (line 114) | async def sender(self, send: Send) -> None: method start_response (line 119) | def start_response( method wsgi (line 143) | def wsgi( FILE: starlette/requests.py function cookie_parser (line 46) | def cookie_parser(cookie_string: str) -> dict[str, str]: class ClientDisconnect (line 73) | class ClientDisconnect(Exception): class HTTPConnection (line 80) | class HTTPConnection(Mapping[str, Any], Generic[StateT]): method __init__ (line 86) | def __init__(self, scope: Scope, receive: Receive | None = None) -> None: method __getitem__ (line 90) | def __getitem__(self, key: str) -> Any: method __iter__ (line 93) | def __iter__(self) -> Iterator[str]: method __len__ (line 96) | def __len__(self) -> int: method app (line 106) | def app(self) -> Any: method url (line 110) | def url(self) -> URL: method base_url (line 116) | def base_url(self) -> URL: method headers (line 133) | def headers(self) -> Headers: method query_params (line 139) | def query_params(self) -> QueryParams: method path_params (line 145) | def path_params(self) -> dict[str, Any]: method cookies (line 149) | def cookies(self) -> dict[str, str]: method client (line 161) | def client(self) -> Address | None: method session (line 169) | def session(self) -> dict[str, Any]: method auth (line 178) | def auth(self) -> Any: method user (line 183) | def user(self) -> Any: method state (line 188) | def state(self) -> StateT: method url_for (line 197) | def url_for(self, name: str, /, **path_params: Any) -> URL: function empty_receive (line 205) | async def empty_receive() -> NoReturn: function empty_send (line 209) | async def empty_send(message: Message) -> NoReturn: class Request (line 213) | class Request(HTTPConnection[StateT]): method __init__ (line 216) | def __init__(self, scope: Scope, receive: Receive = empty_receive, sen... method method (line 226) | def method(self) -> str: method receive (line 230) | def receive(self) -> Receive: method stream (line 233) | async def stream(self) -> AsyncGenerator[bytes, None]: method body (line 253) | async def body(self) -> bytes: method json (line 261) | async def json(self) -> Any: method _get_form (line 267) | async def _get_form( method form (line 302) | def form( method close (line 313) | async def close(self) -> None: method is_disconnected (line 317) | async def is_disconnected(self) -> bool: method send_push_promise (line 331) | async def send_push_promise(self, path: str) -> None: FILE: starlette/responses.py class Response (line 29) | class Response: method __init__ (line 33) | def __init__( method render (line 48) | def render(self, content: Any) -> bytes | memoryview: method init_headers (line 55) | def init_headers(self, headers: Mapping[str, str] | None = None) -> None: method headers (line 84) | def headers(self) -> MutableHeaders: method set_cookie (line 89) | def set_cookie( method delete_cookie (line 134) | def delete_cookie( method _wrap_websocket_denial_send (line 154) | def _wrap_websocket_denial_send(self, send: Send) -> Send: method __call__ (line 163) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... class HTMLResponse (line 173) | class HTMLResponse(Response): class PlainTextResponse (line 177) | class PlainTextResponse(Response): class JSONResponse (line 181) | class JSONResponse(Response): method __init__ (line 184) | def __init__( method render (line 194) | def render(self, content: Any) -> bytes: class RedirectResponse (line 204) | class RedirectResponse(Response): method __init__ (line 205) | def __init__( class StreamingResponse (line 222) | class StreamingResponse(Response): method __init__ (line 225) | def __init__( method listen_for_disconnect (line 242) | async def listen_for_disconnect(self, receive: Receive) -> None: method stream_response (line 248) | async def stream_response(self, send: Send) -> None: method __call__ (line 257) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... class MalformedRangeHeader (line 287) | class MalformedRangeHeader(Exception): method __init__ (line 288) | def __init__(self, content: str = "Malformed range header.") -> None: class RangeNotSatisfiable (line 292) | class RangeNotSatisfiable(Exception): method __init__ (line 293) | def __init__(self, max_size: int) -> None: class FileResponse (line 297) | class FileResponse(Response): method __init__ (line 300) | def __init__( method set_stat_headers (line 331) | def set_stat_headers(self, stat_result: os.stat_result) -> None: method __call__ (line 341) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... method _handle_simple (line 385) | async def _handle_simple(self, send: Send, send_header_only: bool, sen... method _handle_single_range (line 399) | async def _handle_single_range( method _handle_multiple_ranges (line 418) | async def _handle_multiple_ranges( method _should_use_range (line 454) | def _should_use_range(self, http_if_range: str) -> bool: method _parse_range_header (line 458) | def _parse_range_header(cls, http_range: str, file_size: int) -> list[... method _parse_ranges (line 497) | def _parse_ranges(cls, range_: str, file_size: int) -> list[tuple[int,... method generate_multipart (line 525) | def generate_multipart( FILE: starlette/routing.py class NoMatchFound (line 29) | class NoMatchFound(Exception): method __init__ (line 35) | def __init__(self, name: str, path_params: dict[str, Any]) -> None: class Match (line 40) | class Match(Enum): function request_response (line 46) | def request_response( function websocket_session (line 69) | def websocket_session( function get_name (line 88) | def get_name(endpoint: Callable[..., Any]) -> str: function replace_params (line 92) | def replace_params( function compile_path (line 110) | def compile_path( class BaseRoute (line 166) | class BaseRoute: method matches (line 167) | def matches(self, scope: Scope) -> tuple[Match, Scope]: method url_path_for (line 170) | def url_path_for(self, name: str, /, **path_params: Any) -> URLPath: method handle (line 173) | async def handle(self, scope: Scope, receive: Receive, send: Send) -> ... method __call__ (line 176) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... class Route (line 196) | class Route(BaseRoute): method __init__ (line 197) | def __init__( method matches (line 238) | def matches(self, scope: Scope) -> tuple[Match, Scope]: method url_path_for (line 256) | def url_path_for(self, name: str, /, **path_params: Any) -> URLPath: method handle (line 267) | async def handle(self, scope: Scope, receive: Receive, send: Send) -> ... method __eq__ (line 278) | def __eq__(self, other: Any) -> bool: method __repr__ (line 286) | def __repr__(self) -> str: class WebSocketRoute (line 293) | class WebSocketRoute(BaseRoute): method __init__ (line 294) | def __init__( method matches (line 323) | def matches(self, scope: Scope) -> tuple[Match, Scope]: method url_path_for (line 338) | def url_path_for(self, name: str, /, **path_params: Any) -> URLPath: method handle (line 349) | async def handle(self, scope: Scope, receive: Receive, send: Send) -> ... method __eq__ (line 352) | def __eq__(self, other: Any) -> bool: method __repr__ (line 355) | def __repr__(self) -> str: class Mount (line 359) | class Mount(BaseRoute): method __init__ (line 360) | def __init__( method routes (line 384) | def routes(self) -> list[BaseRoute]: method matches (line 387) | def matches(self, scope: Scope) -> tuple[Match, Scope]: method url_path_for (line 420) | def url_path_for(self, name: str, /, **path_params: Any) -> URLPath: method handle (line 447) | async def handle(self, scope: Scope, receive: Receive, send: Send) -> ... method __eq__ (line 450) | def __eq__(self, other: Any) -> bool: method __repr__ (line 453) | def __repr__(self) -> str: class Host (line 459) | class Host(BaseRoute): method __init__ (line 460) | def __init__(self, host: str, app: ASGIApp, name: str | None = None) -... method routes (line 468) | def routes(self) -> list[BaseRoute]: method matches (line 471) | def matches(self, scope: Scope) -> tuple[Match, Scope]: method url_path_for (line 486) | def url_path_for(self, name: str, /, **path_params: Any) -> URLPath: method handle (line 509) | async def handle(self, scope: Scope, receive: Receive, send: Send) -> ... method __eq__ (line 512) | def __eq__(self, other: Any) -> bool: method __repr__ (line 515) | def __repr__(self) -> str: class _AsyncLiftContextManager (line 524) | class _AsyncLiftContextManager(AbstractAsyncContextManager[_T]): method __init__ (line 525) | def __init__(self, cm: AbstractContextManager[_T]): method __aenter__ (line 528) | async def __aenter__(self) -> _T: method __aexit__ (line 531) | async def __aexit__( function _wrap_gen_lifespan_context (line 540) | def _wrap_gen_lifespan_context( class _DefaultLifespan (line 552) | class _DefaultLifespan: method __init__ (line 553) | def __init__(self, router: Router): method __aenter__ (line 556) | async def __aenter__(self) -> None: method __aexit__ (line 559) | async def __aexit__(self, *exc_info: object) -> None: method __call__ (line 562) | def __call__(self: _T, app: object) -> _T: class Router (line 566) | class Router: method __init__ (line 567) | def __init__( method not_found (line 606) | async def not_found(self, scope: Scope, receive: Receive, send: Send) ... method url_path_for (line 621) | def url_path_for(self, name: str, /, **path_params: Any) -> URLPath: method lifespan (line 629) | async def lifespan(self, scope: Scope, receive: Receive, send: Send) -... method __call__ (line 656) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... method app (line 662) | async def app(self, scope: Scope, receive: Receive, send: Send) -> None: method __eq__ (line 712) | def __eq__(self, other: Any) -> bool: method mount (line 715) | def mount(self, path: str, app: ASGIApp, name: str | None = None) -> N... method host (line 719) | def host(self, host: str, app: ASGIApp, name: str | None = None) -> No... method add_route (line 723) | def add_route( method add_websocket_route (line 740) | def add_websocket_route( FILE: starlette/schemas.py class OpenAPIResponse (line 18) | class OpenAPIResponse(Response): method render (line 21) | def render(self, content: Any) -> bytes: class EndpointInfo (line 27) | class EndpointInfo(NamedTuple): class BaseSchemaGenerator (line 36) | class BaseSchemaGenerator: method get_schema (line 37) | def get_schema(self, routes: list[BaseRoute]) -> dict[str, Any]: method get_endpoints (line 40) | def get_endpoints(self, routes: list[BaseRoute]) -> list[EndpointInfo]: method _remove_converter (line 89) | def _remove_converter(self, path: str) -> str: method parse_docstring (line 98) | def parse_docstring(self, func_or_method: Callable[..., Any]) -> dict[... method OpenAPIResponse (line 122) | def OpenAPIResponse(self, request: Request) -> Response: class SchemaGenerator (line 128) | class SchemaGenerator(BaseSchemaGenerator): method __init__ (line 129) | def __init__(self, base_schema: dict[str, Any]) -> None: method get_schema (line 132) | def get_schema(self, routes: list[BaseRoute]) -> dict[str, Any]: FILE: starlette/staticfiles.py class NotModifiedResponse (line 22) | class NotModifiedResponse(Response): method __init__ (line 32) | def __init__(self, headers: Headers): class StaticFiles (line 39) | class StaticFiles: method __init__ (line 40) | def __init__( method get_directories (line 58) | def get_directories( method __call__ (line 87) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... method get_path (line 101) | def get_path(self, scope: Scope) -> str: method get_response (line 109) | async def get_response(self, path: str, scope: Scope) -> Response: method lookup_path (line 154) | def lookup_path(self, path: str) -> tuple[str, os.stat_result | None]: method file_response (line 172) | def file_response( method check_config (line 186) | async def check_config(self) -> None: method is_not_modified (line 202) | def is_not_modified(self, response_headers: Headers, request_headers: ... FILE: starlette/status.py function __getattr__ (line 188) | def __getattr__(name: str) -> int: function __dir__ (line 208) | def __dir__() -> list[str]: FILE: starlette/templating.py class _TemplateResponse (line 31) | class _TemplateResponse(HTMLResponse): method __init__ (line 32) | def __init__( method __call__ (line 46) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... class Jinja2Templates (line 54) | class Jinja2Templates: method __init__ (line 69) | def __init__( method __init__ (line 77) | def __init__( method __init__ (line 84) | def __init__( method _setup_env_defaults (line 101) | def _setup_env_defaults(self, env: jinja2.Environment) -> None: method get_template (line 114) | def get_template(self, name: str) -> jinja2.Template: method TemplateResponse (line 117) | def TemplateResponse( FILE: starlette/testclient.py function _is_asgi3 (line 55) | def _is_asgi3(app: ASGI2App | ASGI3App) -> TypeGuard[ASGI3App]: class _WrapASGI2 (line 61) | class _WrapASGI2: method __init__ (line 66) | def __init__(self, app: ASGI2App) -> None: method __call__ (line 69) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... class _AsyncBackend (line 74) | class _AsyncBackend(TypedDict): class _Upgrade (line 79) | class _Upgrade(Exception): method __init__ (line 80) | def __init__(self, session: WebSocketTestSession) -> None: class WebSocketDenialResponse (line 84) | class WebSocketDenialResponse( # type: ignore[misc] class WebSocketTestSession (line 94) | class WebSocketTestSession: method __init__ (line 95) | def __init__( method __enter__ (line 107) | def __enter__(self) -> WebSocketTestSession: method __exit__ (line 122) | def __exit__(self, *args: Any) -> bool | None: method _run (line 125) | async def _run(self, *, task_status: anyio.abc.TaskStatus[anyio.Cancel... method _raise_on_close (line 142) | def _raise_on_close(self, message: Message) -> None: method send (line 157) | def send(self, message: Message) -> None: method send_text (line 160) | def send_text(self, data: str) -> None: method send_bytes (line 163) | def send_bytes(self, data: bytes) -> None: method send_json (line 166) | def send_json(self, data: Any, mode: Literal["text", "binary"] = "text... method close (line 173) | def close(self, code: int = 1000, reason: str | None = None) -> None: method receive (line 176) | def receive(self) -> Message: method receive_text (line 179) | def receive_text(self) -> str: method receive_bytes (line 184) | def receive_bytes(self) -> bytes: method receive_json (line 189) | def receive_json(self, mode: Literal["text", "binary"] = "text") -> Any: class _TestClientTransport (line 199) | class _TestClientTransport(httpx.BaseTransport): method __init__ (line 200) | def __init__( method handle_request (line 217) | def handle_request(self, request: httpx.Request) -> httpx.Response: class TestClient (line 368) | class TestClient(httpx.Client): method __init__ (line 373) | def __init__( method _portal_factory (line 414) | def _portal_factory(self) -> Generator[anyio.abc.BlockingPortal, None,... method request (line 421) | def request( # type: ignore[override] method get (line 461) | def get( # type: ignore[override] method options (line 484) | def options( # type: ignore[override] method head (line 507) | def head( # type: ignore[override] method post (line 530) | def post( # type: ignore[override] method put (line 561) | def put( # type: ignore[override] method patch (line 592) | def patch( # type: ignore[override] method delete (line 623) | def delete( # type: ignore[override] method websocket_connect (line 646) | def websocket_connect( method __enter__ (line 669) | def __enter__(self) -> Self: method __exit__ (line 698) | def __exit__(self, *args: Any) -> None: method lifespan (line 701) | async def lifespan(self) -> None: method wait_startup (line 708) | async def wait_startup(self) -> None: method wait_shutdown (line 725) | async def wait_shutdown(self) -> None: FILE: starlette/websockets.py class WebSocketState (line 13) | class WebSocketState(enum.Enum): class WebSocketDisconnect (line 20) | class WebSocketDisconnect(Exception): method __init__ (line 21) | def __init__(self, code: int = 1000, reason: str | None = None) -> None: class WebSocket (line 26) | class WebSocket(HTTPConnection[StateT]): method __init__ (line 27) | def __init__(self, scope: Scope, receive: Receive, send: Send) -> None: method receive (line 35) | async def receive(self) -> Message: method send (line 59) | async def send(self, message: Message) -> None: method accept (line 100) | async def accept( method _raise_on_disconnect (line 112) | def _raise_on_disconnect(self, message: Message) -> None: method receive_text (line 116) | async def receive_text(self) -> str: method receive_bytes (line 123) | async def receive_bytes(self) -> bytes: method receive_json (line 130) | async def receive_json(self, mode: str = "text") -> Any: method iter_text (line 144) | async def iter_text(self) -> AsyncIterator[str]: method iter_bytes (line 151) | async def iter_bytes(self) -> AsyncIterator[bytes]: method iter_json (line 158) | async def iter_json(self) -> AsyncIterator[Any]: method send_text (line 165) | async def send_text(self, data: str) -> None: method send_bytes (line 168) | async def send_bytes(self, data: bytes) -> None: method send_json (line 171) | async def send_json(self, data: Any, mode: str = "text") -> None: method close (line 180) | async def close(self, code: int = 1000, reason: str | None = None) -> ... method send_denial_response (line 183) | async def send_denial_response(self, response: Response) -> None: class WebSocketClose (line 190) | class WebSocketClose: method __init__ (line 191) | def __init__(self, code: int = 1000, reason: str | None = None) -> None: method __call__ (line 195) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... FILE: tests/conftest.py function test_client_factory (line 13) | def test_client_factory( FILE: tests/middleware/test_base.py class CustomMiddleware (line 26) | class CustomMiddleware(BaseHTTPMiddleware): method dispatch (line 27) | async def dispatch( function homepage (line 37) | def homepage(request: Request) -> PlainTextResponse: function exc (line 41) | def exc(request: Request) -> None: function exc_stream (line 45) | def exc_stream(request: Request) -> StreamingResponse: function _generate_faulty_stream (line 49) | def _generate_faulty_stream() -> Generator[bytes, None, None]: class NoResponse (line 54) | class NoResponse: method __init__ (line 55) | def __init__( method __await__ (line 63) | def __await__(self) -> Generator[Any, None, None]: method dispatch (line 66) | async def dispatch(self) -> None: function websocket_endpoint (line 70) | async def websocket_endpoint(session: WebSocket) -> None: function test_custom_middleware (line 88) | def test_custom_middleware(test_client_factory: TestClientFactory) -> None: function test_state_data_across_multiple_middlewares (line 109) | def test_state_data_across_multiple_middlewares( function test_app_middleware_argument (line 165) | def test_app_middleware_argument(test_client_factory: TestClientFactory)... function test_fully_evaluated_response (line 176) | def test_fully_evaluated_response(test_client_factory: TestClientFactory... class CustomMiddlewareWithoutBaseHTTPMiddleware (line 197) | class CustomMiddlewareWithoutBaseHTTPMiddleware: method __init__ (line 198) | def __init__(self, app: ASGIApp) -> None: method __call__ (line 201) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... class CustomMiddlewareUsingBaseHTTPMiddleware (line 207) | class CustomMiddlewareUsingBaseHTTPMiddleware(BaseHTTPMiddleware): method dispatch (line 208) | async def dispatch( function test_contextvars (line 235) | def test_contextvars( function test_run_background_tasks_even_if_client_disconnects (line 255) | async def test_run_background_tasks_even_if_client_disconnects() -> None: function test_run_background_tasks_raise_exceptions (line 301) | def test_run_background_tasks_raise_exceptions(test_client_factory: Test... function test_exception_can_be_caught (line 324) | def test_exception_can_be_caught(test_client_factory: TestClientFactory)... function test_do_not_block_on_background_tasks (line 346) | async def test_do_not_block_on_background_tasks() -> None: function test_run_context_manager_exit_even_if_client_disconnects (line 401) | async def test_run_context_manager_exit_even_if_client_disconnects() -> ... function test_app_receives_http_disconnect_while_sending_if_discarded (line 459) | def test_app_receives_http_disconnect_while_sending_if_discarded( function test_app_receives_http_disconnect_after_sending_if_discarded (line 535) | def test_app_receives_http_disconnect_after_sending_if_discarded( function test_read_request_stream_in_app_after_middleware_calls_stream (line 585) | def test_read_request_stream_in_app_after_middleware_calls_stream( function test_read_request_stream_in_app_after_middleware_calls_body (line 617) | def test_read_request_stream_in_app_after_middleware_calls_body( function test_read_request_body_in_app_after_middleware_calls_stream (line 646) | def test_read_request_body_in_app_after_middleware_calls_stream( function test_read_request_body_in_app_after_middleware_calls_body (line 675) | def test_read_request_body_in_app_after_middleware_calls_body( function test_read_request_stream_in_dispatch_after_app_calls_stream (line 701) | def test_read_request_stream_in_dispatch_after_app_calls_stream( function test_read_request_stream_in_dispatch_after_app_calls_body (line 733) | def test_read_request_stream_in_dispatch_after_app_calls_body( function test_read_request_stream_in_dispatch_wrapping_app_calls_body (line 763) | async def test_read_request_stream_in_dispatch_wrapping_app_calls_body()... function test_read_request_stream_in_dispatch_after_app_calls_body_with_middleware_calling_body_before_call_next (line 821) | def test_read_request_stream_in_dispatch_after_app_calls_body_with_middl... function test_read_request_body_in_dispatch_after_app_calls_body_with_middleware_calling_body_before_call_next (line 851) | def test_read_request_body_in_dispatch_after_app_calls_body_with_middlew... function test_read_request_disconnected_client (line 880) | async def test_read_request_disconnected_client() -> None: function test_read_request_disconnected_after_consuming_steam (line 924) | async def test_read_request_disconnected_after_consuming_steam() -> None: function test_downstream_middleware_modifies_receive (line 965) | def test_downstream_middleware_modifies_receive( function test_pr_1519_comment_1236166180_example (line 1006) | def test_pr_1519_comment_1236166180_example() -> None: function test_multiple_middlewares_stacked_client_disconnected (line 1049) | async def test_multiple_middlewares_stacked_client_disconnected() -> None: function test_poll_for_disconnect_repeated (line 1156) | async def test_poll_for_disconnect_repeated(send_body: bool) -> None: function test_asgi_pathsend_events (line 1205) | async def test_asgi_pathsend_events(tmpdir: Path) -> None: function test_error_context_propagation (line 1248) | def test_error_context_propagation(test_client_factory: TestClientFactor... FILE: tests/middleware/test_cors.py function test_cors_allow_all (line 10) | def test_cors_allow_all( function test_cors_allow_all_except_credentials (line 71) | def test_cors_allow_all_except_credentials( function test_cors_allow_specific_origin (line 122) | def test_cors_allow_specific_origin( function test_cors_disallowed_preflight (line 171) | def test_cors_disallowed_preflight( function test_preflight_allows_request_origin_if_origins_wildcard_and_credentials_allowed (line 212) | def test_preflight_allows_request_origin_if_origins_wildcard_and_credent... function test_cors_preflight_allow_all_methods (line 247) | def test_cors_preflight_allow_all_methods( function test_cors_allow_all_methods (line 271) | def test_cors_allow_all_methods( function test_cors_allow_origin_regex (line 300) | def test_cors_allow_origin_regex( function test_cors_allow_origin_regex_fullmatch (line 372) | def test_cors_allow_origin_regex_fullmatch( function test_cors_vary_header_defaults_to_origin (line 407) | def test_cors_vary_header_defaults_to_origin(test_client_factory: TestCl... function test_cors_vary_header_is_not_set_for_non_credentialed_request (line 425) | def test_cors_vary_header_is_not_set_for_non_credentialed_request(test_c... function test_cors_vary_header_is_properly_set_for_credentialed_request (line 440) | def test_cors_vary_header_is_properly_set_for_credentialed_request(test_... function test_cors_vary_header_is_properly_set_when_allow_origins_is_not_wildcard (line 455) | def test_cors_vary_header_is_properly_set_when_allow_origins_is_not_wild... function test_cors_allowed_origin_does_not_leak_between_requests (line 474) | def test_cors_allowed_origin_does_not_leak_between_requests(test_client_... function test_cors_private_network_access_allowed (line 495) | def test_cors_private_network_access_allowed(test_client_factory: TestCl... function test_cors_private_network_access_disallowed (line 536) | def test_cors_private_network_access_disallowed(test_client_factory: Tes... FILE: tests/middleware/test_errors.py function test_handler (line 15) | def test_handler( function test_debug_text (line 31) | def test_debug_text(test_client_factory: TestClientFactory) -> None: function test_debug_html (line 43) | def test_debug_html(test_client_factory: TestClientFactory) -> None: function test_debug_after_response_sent (line 55) | def test_debug_after_response_sent(test_client_factory: TestClientFactor... function test_debug_not_http (line 67) | def test_debug_not_http(test_client_factory: TestClientFactory) -> None: function test_background_task (line 83) | def test_background_task(test_client_factory: TestClientFactory) -> None: FILE: tests/middleware/test_gzip.py function test_gzip_responses (line 17) | def test_gzip_responses(test_client_factory: TestClientFactory) -> None: function test_gzip_not_in_accept_encoding (line 35) | def test_gzip_not_in_accept_encoding(test_client_factory: TestClientFact... function test_gzip_ignored_for_small_responses (line 53) | def test_gzip_ignored_for_small_responses( function test_gzip_streaming_response (line 73) | def test_gzip_streaming_response(test_client_factory: TestClientFactory)... function test_gzip_streaming_response_identity (line 96) | def test_gzip_streaming_response_identity(test_client_factory: TestClien... function test_gzip_ignored_for_responses_with_encoding_set (line 119) | def test_gzip_ignored_for_responses_with_encoding_set( function test_gzip_ignored_on_server_sent_events (line 144) | def test_gzip_ignored_on_server_sent_events(test_client_factory: TestCli... function test_gzip_ignored_for_pathsend_responses (line 167) | async def test_gzip_ignored_for_pathsend_responses(tmpdir: Path) -> None: FILE: tests/middleware/test_https_redirect.py function test_https_redirect_middleware (line 10) | def test_https_redirect_middleware(test_client_factory: TestClientFactor... FILE: tests/middleware/test_middleware.py class CustomMiddleware (line 5) | class CustomMiddleware: # pragma: no cover method __init__ (line 6) | def __init__(self, app: ASGIApp, foo: str, *, bar: int) -> None: method __call__ (line 11) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... function test_middleware_repr (line 15) | def test_middleware_repr() -> None: function test_middleware_iter (line 20) | def test_middleware_iter() -> None: FILE: tests/middleware/test_session.py function view_session (line 13) | def view_session(request: Request) -> JSONResponse: function update_session (line 17) | async def update_session(request: Request) -> JSONResponse: function clear_session (line 23) | async def clear_session(request: Request) -> JSONResponse: function no_session_access (line 28) | def no_session_access(request: Request) -> JSONResponse: function test_session (line 32) | def test_session(test_client_factory: TestClientFactory) -> None: function test_session_expires (line 65) | def test_session_expires(test_client_factory: TestClientFactory) -> None: function test_secure_session (line 89) | def test_secure_session(test_client_factory: TestClientFactory) -> None: function test_session_cookie_subpath (line 126) | def test_session_cookie_subpath(test_client_factory: TestClientFactory) ... function test_invalid_session_cookie (line 144) | def test_invalid_session_cookie(test_client_factory: TestClientFactory) ... function test_session_cookie (line 163) | def test_session_cookie(test_client_factory: TestClientFactory) -> None: function test_domain_cookie (line 185) | def test_domain_cookie(test_client_factory: TestClientFactory) -> None: function test_set_cookie_only_on_modification (line 207) | def test_set_cookie_only_on_modification(test_client_factory: TestClient... function test_vary_cookie_on_access (line 227) | def test_vary_cookie_on_access(test_client_factory: TestClientFactory) -... function test_session_tracks_modification (line 251) | def test_session_tracks_modification() -> None: FILE: tests/middleware/test_trusted_host.py function test_trusted_host_middleware (line 10) | def test_trusted_host_middleware(test_client_factory: TestClientFactory)... function test_default_allowed_hosts (line 32) | def test_default_allowed_hosts() -> None: function test_www_redirect (line 38) | def test_www_redirect(test_client_factory: TestClientFactory) -> None: FILE: tests/middleware/test_wsgi.py function hello_world (line 16) | def hello_world( function echo_body (line 30) | def echo_body( function raise_exception (line 44) | def raise_exception( function return_exc_info (line 51) | def return_exc_info( function test_wsgi_get (line 68) | def test_wsgi_get(test_client_factory: TestClientFactory) -> None: function test_wsgi_post (line 76) | def test_wsgi_post(test_client_factory: TestClientFactory) -> None: function test_wsgi_exception (line 84) | def test_wsgi_exception(test_client_factory: TestClientFactory) -> None: function test_wsgi_exc_info (line 93) | def test_wsgi_exc_info(test_client_factory: TestClientFactory) -> None: function test_build_environ (line 108) | def test_build_environ() -> None: function test_build_environ_encoding (line 153) | def test_build_environ_encoding() -> None: FILE: tests/test__utils.py function test_async_func (line 11) | def test_async_func() -> None: function test_async_partial (line 20) | def test_async_partial() -> None: function test_async_method (line 32) | def test_async_method() -> None: function test_async_object_call (line 43) | def test_async_object_call() -> None: function test_async_partial_object_call (line 54) | def test_async_partial_object_call() -> None: function test_async_nested_partial (line 76) | def test_async_nested_partial() -> None: function test_async_mocked_async_function (line 87) | def test_async_mocked_async_function() -> None: function test_get_route_path (line 103) | def test_get_route_path(scope: Scope, expected_result: str) -> None: FILE: tests/test_applications.py function error_500 (line 28) | async def error_500(request: Request, exc: HTTPException) -> JSONResponse: function method_not_allowed (line 32) | async def method_not_allowed(request: Request, exc: HTTPException) -> JS... function http_exception (line 36) | async def http_exception(request: Request, exc: HTTPException) -> JSONRe... function func_homepage (line 40) | def func_homepage(request: Request) -> PlainTextResponse: function async_homepage (line 44) | async def async_homepage(request: Request) -> PlainTextResponse: class Homepage (line 48) | class Homepage(HTTPEndpoint): method get (line 49) | def get(self, request: Request) -> PlainTextResponse: function all_users_page (line 53) | def all_users_page(request: Request) -> PlainTextResponse: function user_page (line 57) | def user_page(request: Request) -> PlainTextResponse: function custom_subdomain (line 62) | def custom_subdomain(request: Request) -> PlainTextResponse: function runtime_error (line 66) | def runtime_error(request: Request) -> None: function websocket_endpoint (line 70) | async def websocket_endpoint(session: WebSocket) -> None: function websocket_raise_websocket_exception (line 76) | async def websocket_raise_websocket_exception(websocket: WebSocket) -> N... function websocket_raise_http_exception (line 81) | async def websocket_raise_http_exception(websocket: WebSocket) -> None: class CustomWSException (line 85) | class CustomWSException(Exception): function websocket_raise_custom (line 89) | async def websocket_raise_custom(websocket: WebSocket) -> None: function websocket_state (line 94) | async def websocket_state(websocket: WebSocket[CustomState]) -> None: function custom_ws_exception_handler (line 100) | def custom_ws_exception_handler(websocket: WebSocket, exc: CustomWSExcep... class CustomState (line 104) | class CustomState(TypedDict): function lifespan (line 109) | async def lifespan(app: Starlette) -> AsyncGenerator[CustomState]: function state_count (line 113) | async def state_count(request: Request[CustomState]) -> JSONResponse: function client (line 161) | def client(test_client_factory: TestClientFactory) -> Generator[TestClie... function test_url_path_for (line 166) | def test_url_path_for() -> None: function test_func_route (line 170) | def test_func_route(client: TestClient) -> None: function test_async_route (line 180) | def test_async_route(client: TestClient) -> None: function test_class_route (line 186) | def test_class_route(client: TestClient) -> None: function test_mounted_route (line 192) | def test_mounted_route(client: TestClient) -> None: function test_mounted_route_path_params (line 198) | def test_mounted_route_path_params(client: TestClient) -> None: function test_subdomain_route (line 204) | def test_subdomain_route(test_client_factory: TestClientFactory) -> None: function test_websocket_route (line 212) | def test_websocket_route(client: TestClient) -> None: function test_400 (line 218) | def test_400(client: TestClient) -> None: function test_405 (line 224) | def test_405(client: TestClient) -> None: function test_500 (line 234) | def test_500(test_client_factory: TestClientFactory) -> None: function test_request_state (line 241) | def test_request_state(client: TestClient) -> None: function test_websocket_raise_websocket_exception (line 247) | def test_websocket_raise_websocket_exception(client: TestClient) -> None: function test_websocket_state (line 257) | def test_websocket_state(client: TestClient) -> None: function test_websocket_raise_http_exception (line 263) | def test_websocket_raise_http_exception(client: TestClient) -> None: function test_websocket_raise_custom_exception (line 271) | def test_websocket_raise_custom_exception(client: TestClient) -> None: function test_middleware (line 281) | def test_middleware(test_client_factory: TestClientFactory) -> None: function test_routes (line 288) | def test_routes() -> None: function test_app_mount (line 316) | def test_app_mount(tmpdir: Path, test_client_factory: TestClientFactory)... function test_app_debug (line 338) | def test_app_debug(test_client_factory: TestClientFactory) -> None: function test_app_add_route (line 356) | def test_app_add_route(test_client_factory: TestClientFactory) -> None: function test_app_add_websocket_route (line 372) | def test_app_add_websocket_route(test_client_factory: TestClientFactory)... function test_app_async_cm_lifespan (line 390) | def test_app_async_cm_lifespan(test_client_factory: TestClientFactory) -... function test_app_async_gen_lifespan (line 422) | def test_app_async_gen_lifespan(test_client_factory: TestClientFactory) ... function test_app_sync_gen_lifespan (line 444) | def test_app_sync_gen_lifespan(test_client_factory: TestClientFactory) -... function test_middleware_stack_init (line 465) | def test_middleware_stack_init(test_client_factory: TestClientFactory) -... function test_middleware_args (line 507) | def test_middleware_args(test_client_factory: TestClientFactory) -> None: function test_middleware_factory (line 529) | def test_middleware_factory(test_client_factory: TestClientFactory) -> N... function test_lifespan_app_subclass (line 552) | def test_lifespan_app_subclass() -> None: FILE: tests/test_authentication.py class BasicAuth (line 26) | class BasicAuth(AuthenticationBackend): method authenticate (line 27) | async def authenticate( function homepage (line 45) | def homepage(request: Request) -> JSONResponse: function dashboard (line 55) | async def dashboard(request: Request) -> JSONResponse: function admin (line 65) | async def admin(request: Request) -> JSONResponse: function dashboard_sync (line 75) | def dashboard_sync(request: Request) -> JSONResponse: class Dashboard (line 84) | class Dashboard(HTTPEndpoint): method get (line 86) | def get(self, request: Request) -> JSONResponse: function admin_sync (line 96) | def admin_sync(request: Request) -> JSONResponse: function websocket_endpoint (line 106) | async def websocket_endpoint(websocket: WebSocket) -> None: function async_inject_decorator (line 116) | def async_inject_decorator( function decorated_async (line 130) | async def decorated_async(request: Request, additional: str) -> JSONResp... function sync_inject_decorator (line 140) | def sync_inject_decorator( function decorated_sync (line 154) | def decorated_sync(request: Request, additional: str) -> JSONResponse: function ws_inject_decorator (line 164) | def ws_inject_decorator(**kwargs: Any) -> Callable[..., AsyncEndpoint]: function websocket_endpoint_decorated (line 176) | async def websocket_endpoint_decorated(websocket: WebSocket, additional:... function test_invalid_decorator_usage (line 204) | def test_invalid_decorator_usage() -> None: function test_user_interface (line 212) | def test_user_interface(test_client_factory: TestClientFactory) -> None: function test_authentication_required (line 223) | def test_authentication_required(test_client_factory: TestClientFactory)... function test_websocket_authentication_required (line 273) | def test_websocket_authentication_required( function test_authentication_redirect (line 306) | def test_authentication_redirect(test_client_factory: TestClientFactory)... function on_auth_error (line 327) | def on_auth_error(request: HTTPConnection, exc: AuthenticationError) -> ... function control_panel (line 332) | def control_panel(request: Request) -> JSONResponse: function test_custom_on_error (line 347) | def test_custom_on_error(test_client_factory: TestClientFactory) -> None: FILE: tests/test_background.py function test_async_task (line 9) | def test_async_task(test_client_factory: TestClientFactory) -> None: function test_sync_task (line 28) | def test_sync_task(test_client_factory: TestClientFactory) -> None: function test_multiple_tasks (line 47) | def test_multiple_tasks(test_client_factory: TestClientFactory) -> None: function test_multi_tasks_failure_avoids_next_execution (line 68) | def test_multi_tasks_failure_avoids_next_execution( FILE: tests/test_concurrency.py function test_run_until_first_complete (line 16) | async def test_run_until_first_complete() -> None: function test_accessing_context_from_threaded_sync_endpoint (line 33) | def test_accessing_context_from_threaded_sync_endpoint( function test_iterate_in_threadpool (line 50) | async def test_iterate_in_threadpool() -> None: FILE: tests/test_config.py function test_config_types (line 12) | def test_config_types() -> None: function test_config (line 40) | def test_config(tmpdir: Path, monkeypatch: pytest.MonkeyPatch) -> None: function test_missing_env_file_raises (line 105) | def test_missing_env_file_raises(tmpdir: Path) -> None: function test_environ (line 112) | def test_environ() -> None: function test_config_with_env_prefix (line 137) | def test_config_with_env_prefix(tmpdir: Path, monkeypatch: pytest.Monkey... function test_config_with_encoding (line 145) | def test_config_with_encoding(tmpdir: Path) -> None: FILE: tests/test_convertors.py function refresh_convertor_types (line 16) | def refresh_convertor_types() -> Iterator[None]: class DateTimeConvertor (line 22) | class DateTimeConvertor(Convertor[datetime]): method convert (line 25) | def convert(self, value: str) -> datetime: method to_string (line 28) | def to_string(self, value: datetime) -> str: function app (line 33) | def app() -> Router: function test_datetime_convertor (line 52) | def test_datetime_convertor(test_client_factory: TestClientFactory, app:... function test_default_float_convertor (line 63) | def test_default_float_convertor(test_client_factory: TestClientFactory,... function test_default_uuid_convertor (line 86) | def test_default_uuid_convertor(test_client_factory: TestClientFactory, ... FILE: tests/test_datastructures.py function test_url (line 19) | def test_url() -> None: function test_url_query_params (line 65) | def test_url_query_params() -> None: function test_hidden_password (line 82) | def test_hidden_password() -> None: function test_csv (line 93) | def test_csv() -> None: function test_url_from_scope (line 117) | def test_url_from_scope() -> None: function test_headers (line 162) | def test_headers() -> None: function test_mutable_headers (line 189) | def test_mutable_headers() -> None: function test_mutable_headers_merge (line 205) | def test_mutable_headers_merge() -> None: function test_mutable_headers_merge_dict (line 214) | def test_mutable_headers_merge_dict() -> None: function test_mutable_headers_update (line 223) | def test_mutable_headers_update() -> None: function test_mutable_headers_update_dict (line 232) | def test_mutable_headers_update_dict() -> None: function test_mutable_headers_merge_not_mapping (line 241) | def test_mutable_headers_merge_not_mapping() -> None: function test_headers_mutablecopy (line 249) | def test_headers_mutablecopy() -> None: function test_mutable_headers_from_scope (line 257) | def test_mutable_headers_from_scope() -> None: function test_url_blank_params (line 267) | def test_url_blank_params() -> None: function test_queryparams (line 280) | def test_queryparams() -> None: function test_upload_file_file_input (line 309) | async def test_upload_file_file_input() -> None: function test_upload_file_without_size (line 323) | async def test_upload_file_without_size() -> None: function test_uploadfile_rolling (line 338) | async def test_uploadfile_rolling(max_size: int) -> None: function test_formdata (line 362) | def test_formdata() -> None: function test_upload_file_repr (line 386) | async def test_upload_file_repr() -> None: function test_upload_file_repr_headers (line 393) | async def test_upload_file_repr_headers() -> None: function test_multidict (line 399) | def test_multidict() -> None: FILE: tests/test_endpoints.py class Homepage (line 14) | class Homepage(HTTPEndpoint): method get (line 15) | async def get(self, request: Request) -> PlainTextResponse: function client (line 26) | def client(test_client_factory: TestClientFactory) -> Iterator[TestClient]: function test_http_endpoint_route (line 31) | def test_http_endpoint_route(client: TestClient) -> None: function test_http_endpoint_route_path_params (line 37) | def test_http_endpoint_route_path_params(client: TestClient) -> None: function test_http_endpoint_route_method (line 43) | def test_http_endpoint_route_method(client: TestClient) -> None: function test_websocket_endpoint_on_connect (line 50) | def test_websocket_endpoint_on_connect(test_client_factory: TestClientFa... function test_websocket_endpoint_on_receive_bytes (line 61) | def test_websocket_endpoint_on_receive_bytes( function test_websocket_endpoint_on_receive_json (line 81) | def test_websocket_endpoint_on_receive_json( function test_websocket_endpoint_on_receive_json_binary (line 101) | def test_websocket_endpoint_on_receive_json_binary( function test_websocket_endpoint_on_receive_text (line 117) | def test_websocket_endpoint_on_receive_text( function test_websocket_endpoint_on_default (line 137) | def test_websocket_endpoint_on_default(test_client_factory: TestClientFa... function test_websocket_endpoint_on_disconnect (line 151) | def test_websocket_endpoint_on_disconnect( FILE: tests/test_exceptions.py function raise_runtime_error (line 17) | def raise_runtime_error(request: Request) -> None: function not_acceptable (line 21) | def not_acceptable(request: Request) -> None: function no_content (line 25) | def no_content(request: Request) -> None: function not_modified (line 29) | def not_modified(request: Request) -> None: function with_headers (line 33) | def with_headers(request: Request) -> None: class BadBodyException (line 37) | class BadBodyException(HTTPException): function read_body_and_raise_exc (line 41) | async def read_body_and_raise_exc(request: Request) -> None: function handler_that_reads_body (line 46) | async def handler_that_reads_body(request: Request, exc: BadBodyExceptio... class HandledExcAfterResponse (line 51) | class HandledExcAfterResponse: method __call__ (line 52) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... function client (line 79) | def client(test_client_factory: TestClientFactory) -> Generator[TestClie... function test_not_acceptable (line 84) | def test_not_acceptable(client: TestClient) -> None: function test_no_content (line 90) | def test_no_content(client: TestClient) -> None: function test_not_modified (line 96) | def test_not_modified(client: TestClient) -> None: function test_with_headers (line 102) | def test_with_headers(client: TestClient) -> None: function test_websockets_should_raise (line 108) | def test_websockets_should_raise(client: TestClient) -> None: function test_handled_exc_after_response (line 114) | def test_handled_exc_after_response(test_client_factory: TestClientFacto... function test_force_500_response (line 128) | def test_force_500_response(test_client_factory: TestClientFactory) -> N... function test_http_str (line 146) | def test_http_str() -> None: function test_http_repr (line 152) | def test_http_repr() -> None: function test_websocket_str (line 166) | def test_websocket_str() -> None: function test_websocket_repr (line 171) | def test_websocket_repr() -> None: function test_request_in_app_and_handler_is_the_same_object (line 185) | def test_request_in_app_and_handler_is_the_same_object(client: TestClien... function test_http_exception_does_not_use_threadpool (line 191) | def test_http_exception_does_not_use_threadpool(client: TestClient, monk... function test_handlers_annotations (line 210) | def test_handlers_annotations() -> None: FILE: tests/test_formparsers.py class ForceMultipartDict (line 25) | class ForceMultipartDict(dict[Any, Any]): method __bool__ (line 26) | def __bool__(self) -> bool: function app (line 34) | async def app(scope: Scope, receive: Receive, send: Send) -> None: function multi_items_app (line 54) | async def multi_items_app(scope: Scope, receive: Receive, send: Send) ->... function app_with_headers (line 78) | async def app_with_headers(scope: Scope, receive: Receive, send: Send) -... function app_read_body (line 99) | async def app_read_body(scope: Scope, receive: Receive, send: Send) -> N... function app_monitor_thread (line 112) | async def app_monitor_thread(scope: Scope, receive: Receive, send: Send)... function make_app_max_parts (line 128) | def make_app_max_parts(max_files: int = 1000, max_fields: int = 1000, ma... function test_multipart_request_data (line 151) | def test_multipart_request_data(tmpdir: Path, test_client_factory: TestC... function test_multipart_request_files (line 157) | def test_multipart_request_files(tmpdir: Path, test_client_factory: Test... function test_multipart_request_files_with_content_type (line 175) | def test_multipart_request_files_with_content_type(tmpdir: Path, test_cl... function test_multipart_request_multiple_files (line 193) | def test_multipart_request_multiple_files(tmpdir: Path, test_client_fact... function test_multipart_request_multiple_files_with_headers (line 221) | def test_multipart_request_multiple_files_with_headers(tmpdir: Path, tes... function test_multi_items (line 258) | def test_multi_items(tmpdir: Path, test_client_factory: TestClientFactor... function test_multipart_request_mixed_files_and_data (line 293) | def test_multipart_request_mixed_files_and_data(tmpdir: Path, test_clien... class ThreadTrackingSpooledTemporaryFile (line 327) | class ThreadTrackingSpooledTemporaryFile(SpooledTemporaryFile[bytes]): method rollover (line 335) | def rollover(self) -> None: function mock_spooled_temporary_file (line 341) | def mock_spooled_temporary_file() -> Generator[None]: function test_multipart_request_large_file_rollover_in_background_thread (line 349) | def test_multipart_request_large_file_rollover_in_background_thread( function test_multipart_request_with_charset_for_filename (line 368) | def test_multipart_request_with_charset_for_filename(tmpdir: Path, test_... function test_multipart_request_without_charset_for_filename (line 392) | def test_multipart_request_without_charset_for_filename(tmpdir: Path, te... function test_multipart_request_with_encoded_value (line 416) | def test_multipart_request_with_encoded_value(tmpdir: Path, test_client_... function test_urlencoded_request_data (line 432) | def test_urlencoded_request_data(tmpdir: Path, test_client_factory: Test... function test_no_request_data (line 438) | def test_no_request_data(tmpdir: Path, test_client_factory: TestClientFa... function test_urlencoded_percent_encoding (line 444) | def test_urlencoded_percent_encoding(tmpdir: Path, test_client_factory: ... function test_urlencoded_percent_encoding_keys (line 450) | def test_urlencoded_percent_encoding_keys(tmpdir: Path, test_client_fact... function test_urlencoded_multi_field_app_reads_body (line 456) | def test_urlencoded_multi_field_app_reads_body(tmpdir: Path, test_client... function test_multipart_multi_field_app_reads_body (line 462) | def test_multipart_multi_field_app_reads_body(tmpdir: Path, test_client_... function test_user_safe_decode_helper (line 468) | def test_user_safe_decode_helper() -> None: function test_user_safe_decode_ignores_wrong_charset (line 473) | def test_user_safe_decode_ignores_wrong_charset() -> None: function test_missing_boundary_parameter (line 485) | def test_missing_boundary_parameter( function test_missing_name_parameter_on_content_disposition (line 513) | def test_missing_name_parameter_on_content_disposition( function test_too_many_fields_raise (line 541) | def test_too_many_fields_raise( function test_too_many_files_raise (line 568) | def test_too_many_files_raise( function test_too_many_files_single_field_raise (line 595) | def test_too_many_files_single_field_raise( function test_too_many_files_and_fields_raise (line 624) | def test_too_many_files_and_fields_raise( function test_max_fields_is_customizable_low_raises (line 655) | def test_max_fields_is_customizable_low_raises( function test_max_files_is_customizable_low_raises (line 685) | def test_max_files_is_customizable_low_raises( function test_max_fields_is_customizable_high (line 705) | def test_max_fields_is_customizable_high(test_client_factory: TestClient... function test_max_part_size_exceeds_limit (line 736) | def test_max_part_size_exceeds_limit( function test_max_part_size_exceeds_custom_limit (line 776) | def test_max_part_size_exceeds_custom_limit( FILE: tests/test_requests.py function test_request_url (line 17) | def test_request_url(test_client_factory: TestClientFactory) -> None: function test_request_query_params (line 32) | def test_request_query_params(test_client_factory: TestClientFactory) ->... function test_request_headers (line 48) | def test_request_headers(test_client_factory: TestClientFactory) -> None: function test_request_client (line 76) | def test_request_client(scope: Scope, expected_client: Address | None) -... function test_request_body (line 82) | def test_request_body(test_client_factory: TestClientFactory) -> None: function test_request_stream (line 101) | def test_request_stream(test_client_factory: TestClientFactory) -> None: function test_request_form_urlencoded (line 122) | def test_request_form_urlencoded(test_client_factory: TestClientFactory)... function test_request_form_context_manager (line 135) | def test_request_form_context_manager(test_client_factory: TestClientFac... function test_request_body_then_stream (line 148) | def test_request_body_then_stream(test_client_factory: TestClientFactory... function test_request_stream_then_body (line 164) | def test_request_stream_then_body(test_client_factory: TestClientFactory... function test_request_json (line 183) | def test_request_json(test_client_factory: TestClientFactory) -> None: function test_request_scope_interface (line 195) | def test_request_scope_interface() -> None: function test_request_raw_path (line 206) | def test_request_raw_path(test_client_factory: TestClientFactory) -> None: function test_request_without_setting_receive (line 219) | def test_request_without_setting_receive( function test_request_disconnect (line 241) | def test_request_disconnect( function test_request_is_disconnected (line 269) | def test_request_is_disconnected(test_client_factory: TestClientFactory)... function test_request_state_object (line 292) | def test_request_state_object() -> None: function test_request_state (line 328) | def test_request_state(test_client_factory: TestClientFactory) -> None: function test_request_cookies (line 340) | def test_request_cookies(test_client_factory: TestClientFactory) -> None: function test_cookie_lenient_parsing (line 359) | def test_cookie_lenient_parsing(test_client_factory: TestClientFactory) ... function test_cookies_edge_cases (line 415) | def test_cookies_edge_cases( function test_cookies_invalid (line 454) | def test_cookies_invalid( function test_multiple_cookie_headers (line 475) | def test_multiple_cookie_headers(test_client_factory: TestClientFactory)... function test_chunked_encoding (line 488) | def test_chunked_encoding(test_client_factory: TestClientFactory) -> None: function test_request_send_push_promise (line 505) | def test_request_send_push_promise(test_client_factory: TestClientFactor... function test_request_send_push_promise_without_push_extension (line 521) | def test_request_send_push_promise_without_push_extension( function test_request_send_push_promise_without_setting_send (line 541) | def test_request_send_push_promise_without_setting_send( function test_request_rcv (line 581) | async def test_request_rcv(messages: list[Message]) -> None: function test_request_stream_called_twice (line 595) | async def test_request_stream_called_twice() -> None: function test_request_url_outside_starlette_context (line 633) | def test_request_url_outside_starlette_context(test_client_factory: Test... function test_request_url_starlette_context (line 646) | def test_request_url_starlette_context(test_client_factory: TestClientFa... FILE: tests/test_responses.py function test_text_response (line 26) | def test_text_response(test_client_factory: TestClientFactory) -> None: function test_bytes_response (line 36) | def test_bytes_response(test_client_factory: TestClientFactory) -> None: function test_json_none_response (line 46) | def test_json_none_response(test_client_factory: TestClientFactory) -> N... function test_redirect_response (line 57) | def test_redirect_response(test_client_factory: TestClientFactory) -> None: function test_quoting_redirect_response (line 71) | def test_quoting_redirect_response(test_client_factory: TestClientFactor... function test_redirect_response_content_length_header (line 85) | def test_redirect_response_content_length_header( function test_streaming_response (line 101) | def test_streaming_response(test_client_factory: TestClientFactory) -> N... function test_streaming_response_custom_iterator (line 129) | def test_streaming_response_custom_iterator( function test_streaming_response_custom_iterable (line 154) | def test_streaming_response_custom_iterable( function test_sync_streaming_response (line 171) | def test_sync_streaming_response(test_client_factory: TestClientFactory)... function test_response_headers (line 188) | def test_response_headers(test_client_factory: TestClientFactory) -> None: function test_response_phrase (line 201) | def test_response_phrase(test_client_factory: TestClientFactory) -> None: function test_file_response (line 213) | def test_file_response(tmp_path: Path, test_client_factory: TestClientFa... function test_file_response_on_head_method (line 253) | async def test_file_response_on_head_method(tmp_path: Path) -> None: function test_file_response_set_media_type (line 281) | def test_file_response_set_media_type(tmp_path: Path, test_client_factor... function test_file_response_with_directory_raises_error (line 293) | def test_file_response_with_directory_raises_error(tmp_path: Path, test_... function test_file_response_with_missing_file_raises_error (line 301) | def test_file_response_with_missing_file_raises_error(tmp_path: Path, te... function test_file_response_with_chinese_filename (line 310) | def test_file_response_with_chinese_filename(tmp_path: Path, test_client... function test_file_response_with_inline_disposition (line 324) | def test_file_response_with_inline_disposition(tmp_path: Path, test_clie... function test_file_response_with_range_header (line 338) | def test_file_response_with_range_header(tmp_path: Path, test_client_fac... function test_file_response_with_pathsend (line 355) | async def test_file_response_with_pathsend(tmpdir: Path) -> None: function test_set_cookie (line 386) | def test_set_cookie(test_client_factory: TestClientFactory, monkeypatch:... function test_set_cookie_raises_for_invalid_python_version (line 419) | def test_set_cookie_raises_for_invalid_python_version( function test_set_cookie_path_none (line 434) | def test_set_cookie_path_none(test_client_factory: TestClientFactory) ->... function test_set_cookie_samesite_none (line 446) | def test_set_cookie_samesite_none(test_client_factory: TestClientFactory... function test_expires_on_set_cookie (line 466) | def test_expires_on_set_cookie( function test_delete_cookie (line 486) | def test_delete_cookie(test_client_factory: TestClientFactory) -> None: function test_populate_headers (line 503) | def test_populate_headers(test_client_factory: TestClientFactory) -> None: function test_head_method (line 512) | def test_head_method(test_client_factory: TestClientFactory) -> None: function test_empty_response (line 519) | def test_empty_response(test_client_factory: TestClientFactory) -> None: function test_empty_204_response (line 528) | def test_empty_204_response(test_client_factory: TestClientFactory) -> N... function test_non_empty_response (line 535) | def test_non_empty_response(test_client_factory: TestClientFactory) -> N... function test_response_do_not_add_redundant_charset (line 542) | def test_response_do_not_add_redundant_charset( function test_file_response_known_size (line 551) | def test_file_response_known_size(tmp_path: Path, test_client_factory: T... function test_streaming_response_unknown_size (line 562) | def test_streaming_response_unknown_size( function test_streaming_response_known_size (line 571) | def test_streaming_response_known_size(test_client_factory: TestClientFa... function test_response_memoryview (line 578) | def test_response_memoryview(test_client_factory: TestClientFactory) -> ... function test_streaming_response_memoryview (line 585) | def test_streaming_response_memoryview(test_client_factory: TestClientFa... function test_streaming_response_stops_if_receiving_http_disconnect (line 593) | async def test_streaming_response_stops_if_receiving_http_disconnect() -... function test_streaming_response_on_client_disconnects (line 624) | async def test_streaming_response_on_client_disconnects() -> None: function test_streaming_response_runs_background_on_websocket_scope (line 657) | async def test_streaming_response_runs_background_on_websocket_scope() -... function readme_file (line 698) | def readme_file(tmp_path: Path) -> Path: function file_response_client (line 705) | def file_response_client(readme_file: Path, test_client_factory: TestCli... function test_file_response_without_range (line 709) | def test_file_response_without_range(file_response_client: TestClient) -... function test_file_response_head (line 718) | def test_file_response_head(file_response_client: TestClient) -> None: function test_file_response_range (line 727) | def test_file_response_range(file_response_client: TestClient) -> None: function test_file_response_range_head (line 736) | def test_file_response_range_head(file_response_client: TestClient) -> N... function test_file_response_range_multi (line 745) | def test_file_response_range_multi(file_response_client: TestClient) -> ... function test_file_response_range_multi_head (line 753) | def test_file_response_range_multi_head(file_response_client: TestClient... function test_file_response_range_invalid (line 773) | def test_file_response_range_invalid(file_response_client: TestClient) -... function test_file_response_range_head_max (line 778) | def test_file_response_range_head_max(file_response_client: TestClient) ... function test_file_response_range_416 (line 783) | def test_file_response_range_416(file_response_client: TestClient) -> None: function test_file_response_only_support_bytes_range (line 789) | def test_file_response_only_support_bytes_range(file_response_client: Te... function test_file_response_range_must_be_requested (line 795) | def test_file_response_range_must_be_requested(file_response_client: Tes... function test_file_response_start_must_be_less_than_end (line 801) | def test_file_response_start_must_be_less_than_end(file_response_client:... function test_file_response_merge_ranges (line 807) | def test_file_response_merge_ranges(file_response_client: TestClient) ->... class MultipartPart (line 815) | class MultipartPart: function parse_multipart_data (line 820) | def parse_multipart_data(data: bytes, boundary: bytes | str) -> list[Mul... function test_file_response_insert_ranges (line 861) | def test_file_response_insert_ranges(file_response_client: TestClient) -... function test_file_response_range_without_dash (line 901) | def test_file_response_range_without_dash(file_response_client: TestClie... function test_file_response_range_empty_start_and_end (line 907) | def test_file_response_range_empty_start_and_end(file_response_client: T... function test_file_response_range_ignore_non_numeric (line 913) | def test_file_response_range_ignore_non_numeric(file_response_client: Te... function test_file_response_suffix_range (line 919) | def test_file_response_suffix_range(file_response_client: TestClient) ->... function test_file_response_multiple_calls (line 929) | def test_file_response_multiple_calls(file_response_client: TestClient) ... function test_file_response_multi_small_chunk_size (line 941) | async def test_file_response_multi_small_chunk_size(readme_file: Path) -... FILE: tests/test_routing.py function homepage (line 25) | def homepage(request: Request) -> Response: function users (line 29) | def users(request: Request) -> Response: function user (line 33) | def user(request: Request) -> Response: function user_me (line 38) | def user_me(request: Request) -> Response: function disable_user (line 43) | def disable_user(request: Request) -> Response: function user_no_match (line 48) | def user_no_match(request: Request) -> Response: # pragma: no cover function partial_endpoint (line 53) | async def partial_endpoint(arg: str, request: Request) -> JSONResponse: function partial_ws_endpoint (line 57) | async def partial_ws_endpoint(websocket: WebSocket) -> None: class PartialRoutes (line 63) | class PartialRoutes: method async_endpoint (line 65) | async def async_endpoint(cls, arg: str, request: Request) -> JSONRespo... method async_ws_endpoint (line 69) | async def async_ws_endpoint(cls, websocket: WebSocket) -> None: function func_homepage (line 75) | def func_homepage(request: Request) -> Response: function contact (line 79) | def contact(request: Request) -> Response: function int_convertor (line 83) | def int_convertor(request: Request) -> JSONResponse: function float_convertor (line 88) | def float_convertor(request: Request) -> JSONResponse: function path_convertor (line 93) | def path_convertor(request: Request) -> JSONResponse: function uuid_converter (line 98) | def uuid_converter(request: Request) -> JSONResponse: function path_with_parentheses (line 103) | def path_with_parentheses(request: Request) -> JSONResponse: function websocket_endpoint (line 108) | async def websocket_endpoint(session: WebSocket) -> None: function websocket_params (line 114) | async def websocket_params(session: WebSocket) -> None: function client (line 168) | def client( function test_router (line 181) | def test_router(client: TestClient) -> None: function test_route_converters (line 226) | def test_route_converters(client: TestClient) -> None: function test_url_path_for (line 261) | def test_url_path_for() -> None: function test_url_for (line 275) | def test_url_for() -> None: function test_router_add_route (line 295) | def test_router_add_route(client: TestClient) -> None: function test_router_duplicate_path (line 301) | def test_router_duplicate_path(client: TestClient) -> None: function test_router_add_websocket_route (line 307) | def test_router_add_websocket_route(client: TestClient) -> None: function test_router_middleware (line 317) | def test_router_middleware(test_client_factory: TestClientFactory) -> None: function http_endpoint (line 337) | def http_endpoint(request: Request) -> Response: class WebSocketEndpoint (line 342) | class WebSocketEndpoint: method __call__ (line 343) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... function test_protocol_switch (line 358) | def test_protocol_switch(test_client_factory: TestClientFactory) -> None: function test_mount_urls (line 376) | def test_mount_urls(test_client_factory: TestClientFactory) -> None: function test_reverse_mount_urls (line 386) | def test_reverse_mount_urls() -> None: function test_mount_at_root (line 404) | def test_mount_at_root(test_client_factory: TestClientFactory) -> None: function users_api (line 410) | def users_api(request: Request) -> JSONResponse: function test_host_routing (line 439) | def test_host_routing(test_client_factory: TestClientFactory) -> None: function test_host_reverse_urls (line 479) | def test_host_reverse_urls() -> None: function subdomain_app (line 496) | async def subdomain_app(scope: Scope, receive: Receive, send: Send) -> N... function test_subdomain_routing (line 504) | def test_subdomain_routing(test_client_factory: TestClientFactory) -> None: function test_subdomain_reverse_urls (line 512) | def test_subdomain_reverse_urls() -> None: function echo_urls (line 521) | async def echo_urls(request: Request) -> JSONResponse: function test_url_for_with_root_path (line 540) | def test_url_for_with_root_path(test_client_factory: TestClientFactory) ... function stub_app (line 555) | async def stub_app(scope: Scope, receive: Receive, send: Send) -> None: function test_url_for_with_double_mount (line 564) | def test_url_for_with_double_mount() -> None: function test_url_for_with_root_path_ending_with_slash (line 570) | def test_url_for_with_root_path_ending_with_slash(test_client_factory: T... function test_standalone_route_matches (line 580) | def test_standalone_route_matches( function test_standalone_route_does_not_match (line 590) | def test_standalone_route_does_not_match( function ws_helloworld (line 600) | async def ws_helloworld(websocket: WebSocket) -> None: function test_standalone_ws_route_matches (line 606) | def test_standalone_ws_route_matches( function test_standalone_ws_route_does_not_match (line 616) | def test_standalone_ws_route_does_not_match( function test_lifespan_state_unsupported (line 626) | def test_lifespan_state_unsupported(test_client_factory: TestClientFacto... function test_lifespan_state_async_cm (line 645) | def test_lifespan_state_async_cm(test_client_factory: TestClientFactory)... function test_raise_on_startup (line 693) | def test_raise_on_startup(test_client_factory: TestClientFactory) -> None: function test_raise_on_shutdown (line 717) | def test_raise_on_shutdown(test_client_factory: TestClientFactory) -> None: function test_partial_async_endpoint (line 730) | def test_partial_async_endpoint(test_client_factory: TestClientFactory) ... function test_partial_async_ws_endpoint (line 741) | def test_partial_async_ws_endpoint( function test_duplicated_param_names (line 754) | def test_duplicated_param_names() -> None: class Endpoint (line 768) | class Endpoint: method my_method (line 769) | async def my_method(self, request: Request) -> None: ... # pragma: no... method my_classmethod (line 772) | async def my_classmethod(cls, request: Request) -> None: ... # pragma... method my_staticmethod (line 775) | async def my_staticmethod(request: Request) -> None: ... # pragma: no... method __call__ (line 777) | def __call__(self, request: Request) -> None: ... # pragma: no cover function test_route_name (line 795) | def test_route_name(endpoint: Callable[..., Response], expected_name: st... class AddHeadersMiddleware (line 799) | class AddHeadersMiddleware: method __init__ (line 800) | def __init__(self, app: ASGIApp) -> None: method __call__ (line 803) | async def __call__(self, scope: Scope, receive: Receive, send: Send) -... function assert_middleware_header_route (line 814) | def assert_middleware_header_route(request: Request) -> Response: function test_base_route_middleware (line 875) | def test_base_route_middleware( function test_mount_routes_with_middleware_url_path_for (line 890) | def test_mount_routes_with_middleware_url_path_for() -> None: function test_mount_asgi_app_with_middleware_url_path_for (line 895) | def test_mount_asgi_app_with_middleware_url_path_for() -> None: function test_add_route_to_app_after_mount (line 903) | def test_add_route_to_app_after_mount( function test_exception_on_mounted_apps (line 921) | def test_exception_on_mounted_apps( function test_mounted_middleware_does_not_catch_exception (line 936) | def test_mounted_middleware_does_not_catch_exception( function test_websocket_route_middleware (line 991) | def test_websocket_route_middleware( function test_route_repr (line 1029) | def test_route_repr() -> None: function test_route_repr_without_methods (line 1034) | def test_route_repr_without_methods() -> None: function test_websocket_route_repr (line 1039) | def test_websocket_route_repr() -> None: function test_mount_repr (line 1044) | def test_mount_repr() -> None: function test_mount_named_repr (line 1055) | def test_mount_named_repr() -> None: function test_host_repr (line 1067) | def test_host_repr() -> None: function test_host_named_repr (line 1080) | def test_host_named_repr() -> None: function echo_paths (line 1094) | async def echo_paths(request: Request, name: str) -> JSONResponse: function pure_asgi_echo_paths (line 1104) | async def pure_asgi_echo_paths(scope: Scope, receive: Receive, send: Sen... function test_paths_with_root_path (line 1146) | def test_paths_with_root_path(test_client_factory: TestClientFactory) ->... FILE: tests/test_schemas.py function ws (line 13) | def ws(session: WebSocket) -> None: function get_user (line 18) | def get_user(request: Request) -> None: function list_users (line 29) | def list_users(request: Request) -> None: function create_user (line 40) | def create_user(request: Request) -> None: class OrganisationsEndpoint (line 51) | class OrganisationsEndpoint(HTTPEndpoint): method get (line 52) | def get(self, request: Request) -> None: method post (line 62) | def post(self, request: Request) -> None: function regular_docstring_and_schema (line 73) | def regular_docstring_and_schema(request: Request) -> None: function regular_docstring (line 86) | def regular_docstring(request: Request) -> None: function no_docstring (line 93) | def no_docstring(request: Request) -> None: function subapp_endpoint (line 97) | def subapp_endpoint(request: Request) -> None: function schema (line 106) | def schema(request: Request) -> Response: function test_schema_generation (line 133) | def test_schema_generation() -> None: function test_schema_endpoint (line 250) | def test_schema_endpoint(test_client_factory: TestClientFactory) -> None: FILE: tests/test_staticfiles.py function test_staticfiles (line 22) | def test_staticfiles(tmpdir: Path, test_client_factory: TestClientFactor... function test_staticfiles_with_pathlib (line 34) | def test_staticfiles_with_pathlib(tmp_path: Path, test_client_factory: T... function test_staticfiles_head_with_middleware (line 46) | def test_staticfiles_head_with_middleware(tmpdir: Path, test_client_fact... function test_staticfiles_with_package (line 68) | def test_staticfiles_with_package(test_client_factory: TestClientFactory... function test_staticfiles_post (line 82) | def test_staticfiles_post(tmpdir: Path, test_client_factory: TestClientF... function test_staticfiles_with_directory_returns_404 (line 96) | def test_staticfiles_with_directory_returns_404(tmpdir: Path, test_clien... function test_staticfiles_with_missing_file_returns_404 (line 110) | def test_staticfiles_with_missing_file_returns_404(tmpdir: Path, test_cl... function test_staticfiles_instantiated_with_missing_directory (line 124) | def test_staticfiles_instantiated_with_missing_directory(tmpdir: Path) -... function test_staticfiles_configured_with_missing_directory (line 131) | def test_staticfiles_configured_with_missing_directory(tmpdir: Path, tes... function test_staticfiles_configured_with_file_instead_of_directory (line 140) | def test_staticfiles_configured_with_file_instead_of_directory( function test_staticfiles_config_check_occurs_only_once (line 154) | def test_staticfiles_config_check_occurs_only_once(tmpdir: Path, test_cl... function test_staticfiles_prevents_breaking_out_of_directory (line 168) | def test_staticfiles_prevents_breaking_out_of_directory(tmpdir: Path) ->... function test_staticfiles_never_read_file_for_head_method (line 188) | def test_staticfiles_never_read_file_for_head_method(tmpdir: Path, test_... function test_staticfiles_304_with_etag_match (line 201) | def test_staticfiles_304_with_etag_match(tmpdir: Path, test_client_facto... function test_staticfiles_200_with_etag_mismatch (line 219) | def test_staticfiles_200_with_etag_mismatch(tmpdir: Path, test_client_fa... function test_staticfiles_200_with_etag_mismatch_and_timestamp_match (line 234) | def test_staticfiles_200_with_etag_mismatch_and_timestamp_match( function test_staticfiles_304_with_last_modified_compare_last_req (line 252) | def test_staticfiles_304_with_last_modified_compare_last_req( function test_staticfiles_html_normal (line 273) | def test_staticfiles_html_normal(tmpdir: Path, test_client_factory: Test... function test_staticfiles_html_without_index (line 306) | def test_staticfiles_html_without_index(tmpdir: Path, test_client_factor... function test_staticfiles_html_without_404 (line 331) | def test_staticfiles_html_without_404(tmpdir: Path, test_client_factory:... function test_staticfiles_html_only_files (line 356) | def test_staticfiles_html_only_files(tmpdir: Path, test_client_factory: ... function test_staticfiles_cache_invalidation_for_deleted_file_html_mode (line 373) | def test_staticfiles_cache_invalidation_for_deleted_file_html_mode( function test_staticfiles_with_invalid_dir_permissions_returns_401 (line 410) | def test_staticfiles_with_invalid_dir_permissions_returns_401( function test_staticfiles_with_missing_dir_returns_404 (line 435) | def test_staticfiles_with_missing_dir_returns_404(tmpdir: Path, test_cli... function test_staticfiles_access_file_as_dir_returns_404 (line 449) | def test_staticfiles_access_file_as_dir_returns_404(tmpdir: Path, test_c... function test_staticfiles_null_byte_in_path (line 463) | def test_staticfiles_null_byte_in_path(tmpdir: Path, test_client_factory... function test_staticfiles_filename_too_long (line 472) | def test_staticfiles_filename_too_long(tmpdir: Path, test_client_factory... function test_staticfiles_unhandled_os_error_returns_500 (line 483) | def test_staticfiles_unhandled_os_error_returns_500( function test_staticfiles_follows_symlinks (line 506) | def test_staticfiles_follows_symlinks(tmpdir: Path, test_client_factory:... function test_staticfiles_follows_symlink_directories (line 527) | def test_staticfiles_follows_symlink_directories(tmpdir: Path, test_clie... function test_staticfiles_disallows_path_traversal_with_symlinks (line 548) | def test_staticfiles_disallows_path_traversal_with_symlinks(tmpdir: Path... function test_staticfiles_avoids_path_traversal (line 573) | def test_staticfiles_avoids_path_traversal(tmp_path: Path) -> None: function test_staticfiles_self_symlinks (line 606) | def test_staticfiles_self_symlinks(tmp_path: Path, test_client_factory: ... function test_staticfiles_relative_directory_symlinks (line 625) | def test_staticfiles_relative_directory_symlinks(test_client_factory: Te... FILE: tests/test_status.py function test_deprecated_types (line 19) | def test_deprecated_types(constant: str, msg: str) -> None: function test_unknown_status (line 26) | def test_unknown_status() -> None: FILE: tests/test_templates.py function test_templates (line 19) | def test_templates(tmpdir: Path, test_client_factory: TestClientFactory)... function test_templates_autoescape (line 37) | def test_templates_autoescape(tmp_path: Path) -> None: function test_calls_context_processors (line 49) | def test_calls_context_processors(tmp_path: Path, test_client_factory: T... function test_template_with_middleware (line 77) | def test_template_with_middleware(tmpdir: Path, test_client_factory: Tes... function test_templates_with_directories (line 103) | def test_templates_with_directories(tmp_path: Path, test_client_factory:... function test_templates_require_directory_or_environment (line 138) | def test_templates_require_directory_or_environment() -> None: function test_templates_require_directory_or_environment_not_both (line 143) | def test_templates_require_directory_or_environment_not_both() -> None: function test_templates_with_directory (line 148) | def test_templates_with_directory(tmpdir: Path) -> None: function test_templates_with_environment (line 158) | def test_templates_with_environment(tmpdir: Path, test_client_factory: T... FILE: tests/test_testclient.py function mock_service_endpoint (line 27) | def mock_service_endpoint(request: Request) -> JSONResponse: function current_task (line 34) | def current_task() -> Task[Any] | trio.lowlevel.Task: function test_use_testclient_in_endpoint (line 49) | def test_use_testclient_in_endpoint(test_client_factory: TestClientFacto... function test_testclient_headers_behavior (line 69) | def test_testclient_headers_behavior() -> None: function test_use_testclient_as_contextmanager (line 88) | def test_use_testclient_as_contextmanager(test_client_factory: TestClien... function test_error_on_startup (line 166) | def test_error_on_startup(test_client_factory: TestClientFactory) -> None: function test_exception_in_middleware (line 179) | def test_exception_in_middleware(test_client_factory: TestClientFactory)... function test_testclient_asgi2 (line 197) | def test_testclient_asgi2(test_client_factory: TestClientFactory) -> None: function test_testclient_asgi3 (line 216) | def test_testclient_asgi3(test_client_factory: TestClientFactory) -> None: function test_websocket_blocking_receive (line 232) | def test_websocket_blocking_receive(test_client_factory: TestClientFacto... function test_websocket_not_block_on_close (line 257) | def test_websocket_not_block_on_close(test_client_factory: TestClientFac... function test_client (line 279) | def test_client(test_client_factory: TestClientFactory) -> None: function test_client_custom_client (line 292) | def test_client_custom_client(test_client_factory: TestClientFactory) ->... function test_query_params (line 306) | def test_query_params(test_client_factory: TestClientFactory, param: str... function test_domain_restricted_cookies (line 334) | def test_domain_restricted_cookies(test_client_factory: TestClientFactor... function test_forward_follow_redirects (line 360) | def test_forward_follow_redirects(test_client_factory: TestClientFactory... function test_forward_nofollow_redirects (line 373) | def test_forward_nofollow_redirects(test_client_factory: TestClientFacto... function test_with_duplicate_headers (line 383) | def test_with_duplicate_headers(test_client_factory: TestClientFactory) ... function test_merge_url (line 393) | def test_merge_url(test_client_factory: TestClientFactory) -> None: function test_raw_path_with_querystring (line 403) | def test_raw_path_with_querystring(test_client_factory: TestClientFactor... function test_websocket_raw_path_without_params (line 413) | def test_websocket_raw_path_without_params(test_client_factory: TestClie... function test_timeout_deprecation (line 427) | def test_timeout_deprecation() -> None: FILE: tests/test_websockets.py function test_websocket_url (line 18) | def test_websocket_url(test_client_factory: TestClientFactory) -> None: function test_websocket_binary_json (line 31) | def test_websocket_binary_json(test_client_factory: TestClientFactory) -... function test_websocket_ensure_unicode_on_send_json (line 46) | def test_websocket_ensure_unicode_on_send_json( function test_websocket_query_params (line 64) | def test_websocket_query_params(test_client_factory: TestClientFactory) ... function test_websocket_headers (line 82) | def test_websocket_headers(test_client_factory: TestClientFactory) -> None: function test_websocket_port (line 105) | def test_websocket_port(test_client_factory: TestClientFactory) -> None: function test_websocket_send_and_receive_text (line 118) | def test_websocket_send_and_receive_text( function test_websocket_send_and_receive_bytes (line 135) | def test_websocket_send_and_receive_bytes( function test_websocket_send_and_receive_json (line 152) | def test_websocket_send_and_receive_json( function test_websocket_iter_text (line 169) | def test_websocket_iter_text(test_client_factory: TestClientFactory) -> ... function test_websocket_iter_bytes (line 183) | def test_websocket_iter_bytes(test_client_factory: TestClientFactory) ->... function test_websocket_iter_json (line 197) | def test_websocket_iter_json(test_client_factory: TestClientFactory) -> ... function test_websocket_concurrency_pattern (line 211) | def test_websocket_concurrency_pattern(test_client_factory: TestClientFa... function test_client_close (line 241) | def test_client_close(test_client_factory: TestClientFactory) -> None: function test_client_disconnect_on_send (line 263) | async def test_client_disconnect_on_send() -> None: function test_application_close (line 283) | def test_application_close(test_client_factory: TestClientFactory) -> None: function test_rejected_connection (line 296) | def test_rejected_connection(test_client_factory: TestClientFactory) -> ... function test_send_denial_response (line 310) | def test_send_denial_response(test_client_factory: TestClientFactory) ->... function test_send_denial_response_with_streaming_response (line 326) | def test_send_denial_response_with_streaming_response(test_client_factor... function test_send_denial_response_with_file_response (line 346) | def test_send_denial_response_with_file_response(test_client_factory: Te... function test_send_response_multi (line 364) | def test_send_response_multi(test_client_factory: TestClientFactory) -> ... function test_send_response_unsupported (line 388) | def test_send_response_unsupported(test_client_factory: TestClientFactor... function test_send_response_duplicate_start (line 409) | def test_send_response_duplicate_start(test_client_factory: TestClientFa... function test_subprotocol (line 439) | def test_subprotocol(test_client_factory: TestClientFactory) -> None: function test_additional_headers (line 451) | def test_additional_headers(test_client_factory: TestClientFactory) -> N... function test_no_additional_headers (line 462) | def test_no_additional_headers(test_client_factory: TestClientFactory) -... function test_websocket_exception (line 473) | def test_websocket_exception(test_client_factory: TestClientFactory) -> ... function test_duplicate_close (line 483) | def test_duplicate_close(test_client_factory: TestClientFactory) -> None: function test_duplicate_disconnect (line 496) | def test_duplicate_disconnect(test_client_factory: TestClientFactory) ->... function test_websocket_scope_interface (line 510) | def test_websocket_scope_interface() -> None: function test_websocket_close_reason (line 537) | def test_websocket_close_reason(test_client_factory: TestClientFactory) ... function test_send_json_invalid_mode (line 551) | def test_send_json_invalid_mode(test_client_factory: TestClientFactory) ... function test_receive_json_invalid_mode (line 563) | def test_receive_json_invalid_mode(test_client_factory: TestClientFactor... function test_receive_text_before_accept (line 575) | def test_receive_text_before_accept(test_client_factory: TestClientFacto... function test_receive_bytes_before_accept (line 586) | def test_receive_bytes_before_accept(test_client_factory: TestClientFact... function test_receive_json_before_accept (line 597) | def test_receive_json_before_accept(test_client_factory: TestClientFacto... function test_send_before_accept (line 608) | def test_send_before_accept(test_client_factory: TestClientFactory) -> N... function test_send_wrong_message_type (line 619) | def test_send_wrong_message_type(test_client_factory: TestClientFactory)... function test_receive_before_accept (line 631) | def test_receive_before_accept(test_client_factory: TestClientFactory) -... function test_receive_wrong_message_type (line 644) | def test_receive_wrong_message_type(test_client_factory: TestClientFacto... FILE: tests/types.py class TestClientFactory (line 12) | class TestClientFactory(Protocol): # pragma: no cover method __call__ (line 13) | def __call__( class TestClientFactory (line 26) | class TestClientFactory: method __call__ (line 13) | def __call__(