prefect.server.utilities.server
Utilities for the Prefect REST API server.
PrefectAPIRoute
Bases: APIRoute
A FastAPIRoute class which attaches an async stack to requests that exits before a response is returned.
Requests already have request.scope['fastapi_astack']
which is an async stack for
the full scope of the request. This stack is used for managing contexts of FastAPI
dependencies. If we want to close a dependency before the request is complete
(i.e. before returning a response to the user), we need a stack with a different
scope. This extension adds this stack at request.state.response_scoped_stack
.
Source code in src/prefect/server/utilities/server.py
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
|
PrefectRouter
Bases: APIRouter
A base class for Prefect REST API routers.
Source code in src/prefect/server/utilities/server.py
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
|
add_api_route(path, endpoint, **kwargs)
Add an API route.
For routes that return content and have not specified a response_model
,
use return type annotation to infer the response model.
For routes that return No-Content status codes, explicitly set
a response_class
to ensure nothing is returned in the response body.
Source code in src/prefect/server/utilities/server.py
63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 |
|
method_paths_from_routes(routes)
Generate a set of strings describing the given routes in the format:
For example, "GET /logs/"
Source code in src/prefect/server/utilities/server.py
13 14 15 16 17 18 19 20 21 22 23 24 25 |
|