faust.web.views

Class-based views.

class faust.web.views.View(app: faust.types.app.AppT, web: faust.web.base.Web) → None[source]

Web view (HTTP endpoint).

exception ServerError(detail: str = None, *, code: int = None, **extra_context: Any) → None

Internal Server Error (500).

code = 500
detail = 'Internal server error.'
exception ValidationError(detail: str = None, *, code: int = None, **extra_context: Any) → None

Invalid input in POST data (400).

code = 400
detail = 'Invalid input.'
exception ParseError(detail: str = None, *, code: int = None, **extra_context: Any) → None

Malformed request (400).

code = 400
detail = 'Malformed request.'
exception NotAuthenticated(detail: str = None, *, code: int = None, **extra_context: Any) → None

Authentication credentials were not provided (401).

code = 401
detail = 'Authentication credentials were not provided.'
exception PermissionDenied(detail: str = None, *, code: int = None, **extra_context: Any) → None

No permission to perform action (403).

code = 403
detail = 'You do not have permission to perform this action.'
exception NotFound(detail: str = None, *, code: int = None, **extra_context: Any) → None

Resource not found (404).

code = 404
detail = 'Not found.'
classmethod from_handler(fun: Union[Callable[[faust.types.web.View, faust.types.web.Request], Union[Coroutine[[Any, Any], faust.types.web.Response], Awaitable[faust.types.web.Response]]], Callable[[faust.types.web.View, faust.types.web.Request, Any, Any], Union[Coroutine[[Any, Any], faust.types.web.Response], Awaitable[faust.types.web.Response]]]]) → Type[faust.web.views.View][source]

Decorate async def handler function to create view.

Return type

Type[View]

async dispatch(request: Any) → Any[source]

Dispatch the request and perform any callbacks/cleanup.

Return type

Any

async on_request_error(request: faust.web.base.Request, exc: faust.web.exceptions.WebError) → faust.web.base.Response[source]

Call when a request raises an exception.

Return type

Response

path_for(view_name: str, **kwargs: Any) → str[source]

Return the URL path for view by name.

Supports match keyword arguments.

Return type

str

url_for(view_name: str, _base_url: Union[str, yarl.URL] = None, **kwargs: Any) → yarl.URL[source]

Return the canonical URL for view by name.

Supports match keyword arguments. Can take optional base name, which if not set will be the canonical URL of the app.

Return type

URL

async head(request: faust.web.base.Request, **kwargs: Any) → Any[source]

Override head to define the HTTP HEAD handler.

async get(request: faust.web.base.Request, **kwargs: Any) → Any[source]

Override get to define the HTTP GET handler.

async post(request: faust.web.base.Request, **kwargs: Any) → Any[source]

Override post to define the HTTP POST handler.

async put(request: faust.web.base.Request, **kwargs: Any) → Any[source]

Override put to define the HTTP PUT handler.

async patch(request: faust.web.base.Request, **kwargs: Any) → Any[source]

Override patch to define the HTTP PATCH handler.

async delete(request: faust.web.base.Request, **kwargs: Any) → Any[source]

Override delete to define the HTTP DELETE handler.

async options(request: faust.web.base.Request, **kwargs: Any) → Any[source]

Override options to define the HTTP OPTIONS handler.

text(value: str, *, content_type: str = None, status: int = 200, reason: str = None, headers: MutableMapping = None) → faust.web.base.Response[source]

Create text response, using “text/plain” content-type.

Return type

Response

html(value: str, *, content_type: str = None, status: int = 200, reason: str = None, headers: MutableMapping = None) → faust.web.base.Response[source]

Create HTML response from string, text/html content-type.

Return type

Response

json(value: Any, *, content_type: str = None, status: int = 200, reason: str = None, headers: MutableMapping = None) → faust.web.base.Response[source]

Create new JSON response.

Accepts any JSON-serializable value and will automatically serialize it for you.

The content-type is set to “application/json”.

Return type

Response

bytes(value: bytes, *, content_type: str = None, status: int = 200, reason: str = None, headers: MutableMapping = None) → faust.web.base.Response[source]

Create new bytes response - for binary data.

Return type

Response

async read_request_content(request: faust.web.base.Request) → bytes[source]

Return the request body as bytes.

Return type

bytes

bytes_to_response(s: bytes) → faust.web.base.Response[source]

Deserialize byte string back into a response object.

Return type

Response

response_to_bytes(response: faust.web.base.Response) → bytes[source]

Convert response to serializable byte string.

The result is a byte string that can be deserialized using bytes_to_response().

Return type

bytes

route(pattern: str, handler: Callable) → Any[source]

Create new route from pattern and handler.

Return type

Any

notfound(reason: str = 'Not Found', **kwargs: Any) → faust.web.base.Response[source]

Create not found error response.

Deprecated: Use raise self.NotFound() instead.

Return type

Response

error(status: int, reason: str, **kwargs: Any) → faust.web.base.Response[source]

Create error JSON response.

Return type

Response

faust.web.views.takes_model(Model: Type[faust.types.models.ModelT]) → Callable[Union[Callable[[faust.types.web.View, faust.types.web.Request], Union[Coroutine[[Any, Any], faust.types.web.Response], Awaitable[faust.types.web.Response]]], Callable[[faust.types.web.View, faust.types.web.Request, Any, Any], Union[Coroutine[[Any, Any], faust.types.web.Response], Awaitable[faust.types.web.Response]]]], Union[Callable[[faust.types.web.View, faust.types.web.Request], Union[Coroutine[[Any, Any], faust.types.web.Response], Awaitable[faust.types.web.Response]]], Callable[[faust.types.web.View, faust.types.web.Request, Any, Any], Union[Coroutine[[Any, Any], faust.types.web.Response], Awaitable[faust.types.web.Response]]]]][source]

Decorate view function to return model data.

Return type

Callable[[Union[Callable[[View, Request], Union[Coroutine[Any, Any, Response], Awaitable[Response]]], Callable[[View, Request, Any, Any], Union[Coroutine[Any, Any, Response], Awaitable[Response]]]]], Union[Callable[[View, Request], Union[Coroutine[Any, Any, Response], Awaitable[Response]]], Callable[[View, Request, Any, Any], Union[Coroutine[Any, Any, Response], Awaitable[Response]]]]]

faust.web.views.gives_model(Model: Type[faust.types.models.ModelT]) → Callable[Union[Callable[[faust.types.web.View, faust.types.web.Request], Union[Coroutine[[Any, Any], faust.types.web.Response], Awaitable[faust.types.web.Response]]], Callable[[faust.types.web.View, faust.types.web.Request, Any, Any], Union[Coroutine[[Any, Any], faust.types.web.Response], Awaitable[faust.types.web.Response]]]], Union[Callable[[faust.types.web.View, faust.types.web.Request], Union[Coroutine[[Any, Any], faust.types.web.Response], Awaitable[faust.types.web.Response]]], Callable[[faust.types.web.View, faust.types.web.Request, Any, Any], Union[Coroutine[[Any, Any], faust.types.web.Response], Awaitable[faust.types.web.Response]]]]][source]

Decorate view function to automatically decode POST data.

The POST data is decoded using the model you specify.

Return type

Callable[[Union[Callable[[View, Request], Union[Coroutine[Any, Any, Response], Awaitable[Response]]], Callable[[View, Request, Any, Any], Union[Coroutine[Any, Any, Response], Awaitable[Response]]]]], Union[Callable[[View, Request], Union[Coroutine[Any, Any, Response], Awaitable[Response]]], Callable[[View, Request, Any, Any], Union[Coroutine[Any, Any, Response], Awaitable[Response]]]]]