Coverage for src / lexigram / contracts / web / http_constants.py: 100%
21 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-08-19 05:41 +0800
« prev ^ index » next coverage.py v7.13.5, created at 2026-08-19 05:41 +0800
1"""Canonical HTTP constants shared across all Lexigram packages.
3These constants represent well-known HTTP values that would otherwise be
4duplicated in every package that speaks HTTP. Import from here rather
5than hard-coding strings in individual extension packages.
7Example::
9 from lexigram.contracts.web.http_constants import GET, CONTENT_TYPE_JSON
10"""
12from __future__ import annotations
14# ---------------------------------------------------------------------------
15# HTTP Methods
16# ---------------------------------------------------------------------------
18GET = "GET"
19POST = "POST"
20PUT = "PUT"
21DELETE = "DELETE"
22PATCH = "PATCH"
23HEAD = "HEAD"
24OPTIONS = "OPTIONS"
26# ---------------------------------------------------------------------------
27# Content-Type values
28# ---------------------------------------------------------------------------
30CONTENT_TYPE_JSON = "application/json"
31CONTENT_TYPE_FORM = "application/x-www-form-urlencoded"
32CONTENT_TYPE_TEXT = "text/plain"
33CONTENT_TYPE_HTML = "text/html"
34CONTENT_TYPE_MULTIPART = "multipart/form-data"
35CONTENT_TYPE_BYTES = "application/octet-stream"
37# ---------------------------------------------------------------------------
38# Common header names (lowercase per HTTP/2 standard)
39# ---------------------------------------------------------------------------
41HEADER_CONTENT_TYPE = "content-type"
42HEADER_AUTHORIZATION = "authorization"
43HEADER_ACCEPT = "accept"
44HEADER_USER_AGENT = "user-agent"
45HEADER_X_REQUEST_ID = "x-request-id"
47# ---------------------------------------------------------------------------
48# Default encoding
49# ---------------------------------------------------------------------------
51DEFAULT_ENCODING = "utf-8"
53__all__ = [
54 "CONTENT_TYPE_BYTES",
55 "CONTENT_TYPE_FORM",
56 "CONTENT_TYPE_HTML",
57 "CONTENT_TYPE_JSON",
58 "CONTENT_TYPE_MULTIPART",
59 "CONTENT_TYPE_TEXT",
60 "DEFAULT_ENCODING",
61 "DELETE",
62 "GET",
63 "HEAD",
64 "HEADER_ACCEPT",
65 "HEADER_AUTHORIZATION",
66 "HEADER_CONTENT_TYPE",
67 "HEADER_USER_AGENT",
68 "HEADER_X_REQUEST_ID",
69 "OPTIONS",
70 "PATCH",
71 "POST",
72 "PUT",
73]