edri.dataclass.directive package

Submodules

edri.dataclass.directive.base module

class edri.dataclass.directive.base.InternalServerErrorResponseDirective(message: str | None = None)[source]

Bases: ResponseDirective

message: str | None = None
class edri.dataclass.directive.base.UnauthorizedResponseDirective(message: str | None = None)[source]

Bases: ResponseDirective

message: str | None = None

edri.dataclass.directive.html module

class edri.dataclass.directive.html.RedirectResponseDirective(location: Type[Event] | str, /, **kwargs: Any)[source]

Bases: HTMLResponseDirective

Directive for redirecting to another URL, status 302 will be used

property path: str

edri.dataclass.directive.http module

class edri.dataclass.directive.http.AcceptedResponseDirective[source]

Bases: HTTPResponseDirective

202 Accepted — the request was accepted for (typically asynchronous) processing.

class edri.dataclass.directive.http.AccessDeniedResponseDirective(message: str | None = None)[source]

Bases: HTTPResponseDirective

403 Forbidden — access to the requested resource is denied.

message: str | None = None
class edri.dataclass.directive.http.BadRequestResponseDirective(message: str | None = None)[source]

Bases: HTTPResponseDirective

400 Bad Request — the server cannot process the malformed request.

message: str | None = None
class edri.dataclass.directive.http.ConflictResponseDirective(message: str | None = None)[source]

Bases: HTTPResponseDirective

409 Conflict — the request conflicts with the current resource state.

message: str | None = None
class edri.dataclass.directive.http.CookieResponseDirective(name: str, value: str, expires: datetime | None = None, path: str | None = None, comment: str | None = None, domain: str | None = None, max_age: int | None = None, secure: bool = False, version: int | None = None, httponly: bool = False, samesite: str | None = None)[source]

Bases: HTTPResponseDirective

Represents a directive for setting an HTTP cookie in a response.

Attributes:
  • name (str) -- The name of the cookie.

  • value (str) -- The value of the cookie.

  • expires (Optional[datetime]) -- The date and time when the cookie expires. If not set, the cookie will be a session cookie.

  • path (Optional[str]) -- The path within the domain where the cookie is valid. Defaults to the root path ('/').

  • comment (Optional[str]) -- A comment for the cookie, providing additional information to the client. This is rarely used.

  • domain (Optional[str]) -- The domain where the cookie is valid. If not set, defaults to the host of the request URL.

  • max_age (Optional[int]) -- The maximum age of the cookie in seconds. If set, it overrides the expires attribute.

  • secure (bool) -- Indicates if the cookie should only be transmitted over secure protocols like HTTPS.

  • version (Optional[int]) -- The version of the cookie. Version 0 is the default and refers to "old" cookies, while version 1 is the newer cookie format.

  • httponly (bool) -- Indicates if the cookie is accessible only through HTTP(S) and not available to JavaScript (helps mitigate cross-site scripting attacks).

  • samesite (Optional[str]) -- Controls whether a cookie is sent with cross-site requests. Possible values are 'Lax', 'Strict', or 'None'.

comment: str | None = None
domain: str | None = None
expires: datetime | None = None
httponly: bool = False
max_age: int | None = None
path: str | None = None
samesite: str | None = None
secure: bool = False
version: int | None = None
class edri.dataclass.directive.http.CreatedResponseDirective(location: str | None = None)[source]

Bases: HTTPResponseDirective

Marks the response as 201 Created. If location is given, it is written to the Location header pointing at the newly created resource.

location: str | None = None
class edri.dataclass.directive.http.FoundResponseDirective(location: str)[source]

Bases: HTTPResponseDirective

302 Found — temporary redirect to location (the common default redirect).

class edri.dataclass.directive.http.GoneResponseDirective(message: str | None = None)[source]

Bases: HTTPResponseDirective

410 Gone — the resource was permanently removed and will not return.

message: str | None = None
class edri.dataclass.directive.http.HeaderResponseDirective(name: str, value: str)[source]

Bases: HTTPResponseDirective

Appends the HTTP response header identified by name with value.

class edri.dataclass.directive.http.MovedPermanentlyResponseDirective(location: str)[source]

Bases: HTTPResponseDirective

301 Moved Permanently — the resource now lives permanently at location.

class edri.dataclass.directive.http.NoContentResponseDirective[source]

Bases: HTTPResponseDirective

204 No Content — the request succeeded and there is no response body.

class edri.dataclass.directive.http.NotFoundResponseDirective(message: str | None = None)[source]

Bases: HTTPResponseDirective

404 Not Found — the requested resource could not be found.

message: str | None = None
class edri.dataclass.directive.http.NotImplementedResponseDirective(message: str | None = None)[source]

Bases: HTTPResponseDirective

501 Not Implemented — the server does not support the requested functionality.

message: str | None = None
class edri.dataclass.directive.http.NotModifiedResponseDirective[source]

Bases: HTTPResponseDirective

304 Not Modified — the cached representation is still current.

class edri.dataclass.directive.http.PartialContentResponseDirective[source]

Bases: HTTPResponseDirective

206 Partial Content — the response contains the requested byte range.

class edri.dataclass.directive.http.PermanentRedirectResponseDirective(location: str)[source]

Bases: HTTPResponseDirective

308 Permanent Redirect — permanent redirect that preserves the HTTP method.

class edri.dataclass.directive.http.RangeNotSatisfiableResponseDirective[source]

Bases: HTTPResponseDirective

416 Range Not Satisfiable — the requested byte range cannot be fulfilled.

class edri.dataclass.directive.http.SeeOtherResponseDirective(location: str)[source]

Bases: HTTPResponseDirective

303 See Other — redirect to location with a GET (e.g. Post/Redirect/Get).

class edri.dataclass.directive.http.ServiceUnavailableResponseDirective(message: str | None = None)[source]

Bases: HTTPResponseDirective

503 Service Unavailable — the server is temporarily unable to handle the request.

message: str | None = None
class edri.dataclass.directive.http.TemporaryRedirectResponseDirective(location: str)[source]

Bases: HTTPResponseDirective

307 Temporary Redirect — temporary redirect that preserves the HTTP method.

class edri.dataclass.directive.http.TooManyRequestsResponseDirective(message: str | None = None, retry_after: int | None = None)[source]

Bases: HTTPResponseDirective

429 Too Many Requests — the client has sent too many requests in a given amount of time. If retry_after (seconds) is set, it is written to the Retry-After header.

message: str | None = None
retry_after: int | None = None
class edri.dataclass.directive.http.UnprocessableContentResponseDirective(message: str | None = None)[source]

Bases: HTTPResponseDirective

422 Unprocessable Content — the request is valid but cannot be processed.

message: str | None = None
class edri.dataclass.directive.http.UnsupportedMediaTypeResponseDirective(message: str | None = None)[source]

Bases: HTTPResponseDirective

415 Unsupported Media Type — the request payload is in a format the endpoint does not accept.

message: str | None = None

Module contents

class edri.dataclass.directive.GRPCResponseDirective[source]

Bases: ResponseDirective

Base class for all gRPC directives

class edri.dataclass.directive.HTMLResponseDirective[source]

Bases: HTTPResponseDirective

Base class for all HTML directives

class edri.dataclass.directive.HTTPResponseDirective[source]

Bases: ResponseDirective

Base class for all HTTP directives

class edri.dataclass.directive.RESTResponseDirective[source]

Bases: HTTPResponseDirective

Base class for all HTML directives

class edri.dataclass.directive.ResponseDirective[source]

Bases: object

Base class for all response directives

class edri.dataclass.directive.WebSocketResponseDirective[source]

Bases: ResponseDirective

Base class for all WebSocket directives