middleware
middleware
¶
Middleware system for cocapi request/response processing
MiddlewareManager
¶
MiddlewareManager()
Manages request and response middleware
Source code in cocapi/middleware.py
13 14 15 16 17 18 19 20 | |
add_request_middleware
¶
add_request_middleware(
middleware: Callable[
[str, dict[str, str], dict[str, Any]],
tuple[str, dict[str, str], dict[str, Any]],
],
) -> None
Add middleware function to process requests before they're sent.
| PARAMETER | DESCRIPTION |
|---|---|
middleware
|
Function that takes (url, headers, params) and returns modified versions
TYPE:
|
Examples:
def add_custom_header(url, headers, params): headers = headers.copy() headers['X-Custom'] = 'MyApp' return url, headers, params
manager.add_request_middleware(add_custom_header)
Source code in cocapi/middleware.py
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | |
add_response_middleware
¶
add_response_middleware(
middleware: Callable[[dict[str, Any]], dict[str, Any]],
) -> None
Add middleware function to process responses after they're received.
| PARAMETER | DESCRIPTION |
|---|---|
middleware
|
Function that takes response dict and returns modified version
TYPE:
|
Examples:
def add_timestamp(response): response['_processed_at'] = time.time() return response
manager.add_response_middleware(add_timestamp)
Source code in cocapi/middleware.py
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | |
apply_request_middleware
¶
apply_request_middleware(
url: str,
headers: dict[str, str],
params: dict[str, Any],
) -> tuple[str, dict[str, str], dict[str, Any]]
Apply all request middleware in order
Source code in cocapi/middleware.py
63 64 65 66 67 68 69 70 71 72 | |
apply_response_middleware
¶
apply_response_middleware(
response: dict[str, Any],
) -> dict[str, Any]
Apply all response middleware in order
Source code in cocapi/middleware.py
74 75 76 77 78 79 80 81 | |
clear_request_middleware
¶
clear_request_middleware() -> None
Clear all request middleware
Source code in cocapi/middleware.py
83 84 85 | |
clear_response_middleware
¶
clear_response_middleware() -> None
Clear all response middleware
Source code in cocapi/middleware.py
87 88 89 | |
clear_all_middleware
¶
clear_all_middleware() -> None
Clear all middleware
Source code in cocapi/middleware.py
91 92 93 94 | |
get_middleware_info
¶
get_middleware_info() -> dict[str, Any]
Get information about registered middleware
Source code in cocapi/middleware.py
96 97 98 99 100 101 102 103 104 105 106 107 | |
add_user_agent_middleware
¶
add_user_agent_middleware(
user_agent: str,
) -> Callable[
[str, dict[str, str], dict[str, Any]],
tuple[str, dict[str, str], dict[str, Any]],
]
Create middleware that adds custom User-Agent header
Source code in cocapi/middleware.py
111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | |
add_request_id_middleware
¶
add_request_id_middleware() -> Callable[
[str, dict[str, str], dict[str, Any]],
tuple[str, dict[str, str], dict[str, Any]],
]
Create middleware that adds unique request ID to headers
Source code in cocapi/middleware.py
129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 | |
add_debug_logging_middleware
¶
add_debug_logging_middleware() -> Callable[
[str, dict[str, str], dict[str, Any]],
tuple[str, dict[str, str], dict[str, Any]],
]
Create middleware that logs request details
Source code in cocapi/middleware.py
146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 | |
add_response_timestamp_middleware
¶
add_response_timestamp_middleware() -> Callable[
[dict[str, Any]], dict[str, Any]
]
Create middleware that adds processing timestamp to response
Source code in cocapi/middleware.py
163 164 165 166 167 168 169 170 171 172 173 174 | |
add_response_size_middleware
¶
add_response_size_middleware() -> Callable[
[dict[str, Any]], dict[str, Any]
]
Create middleware that adds response size information
Source code in cocapi/middleware.py
177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 | |