ccproxy.http.base¶
ccproxy.http.base
¶
Base HTTP handler abstraction for better separation of concerns.
HTTPRequestHandler
¶
Bases: Protocol
Protocol for HTTP request handlers.
handle_request
async
¶
handle_request(
method,
url,
headers,
body,
handler_config,
is_streaming=False,
streaming_handler=None,
request_context=None,
)
Handle an HTTP request.
Source code in ccproxy/http/base.py
prepare_request
async
¶
prepare_request(
request_body,
handler_config,
auth_headers=None,
request_headers=None,
**extra_kwargs,
)
Prepare request for sending.
Source code in ccproxy/http/base.py
BaseHTTPHandler
¶
Bases: ABC
Abstract base class for HTTP handlers with common functionality.
handle_request
abstractmethod
async
¶
Handle an HTTP request.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
method
|
str
|
HTTP method |
required |
url
|
str
|
Target URL |
required |
headers
|
dict[str, str]
|
Request headers |
required |
body
|
bytes
|
Request body |
required |
handler_config
|
HandlerConfig
|
Handler configuration |
required |
**kwargs
|
Any
|
Additional handler-specific arguments |
{}
|
Returns:
| Type | Description |
|---|---|
Response | StreamingResponse | DeferredStreaming
|
Response or StreamingResponse |
Source code in ccproxy/http/base.py
prepare_request
abstractmethod
async
¶
Prepare request for sending.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
request_body
|
bytes
|
Original request body |
required |
handler_config
|
HandlerConfig
|
Handler configuration |
required |
**kwargs
|
Any
|
Additional preparation parameters |
{}
|
Returns:
| Type | Description |
|---|---|
tuple[bytes, dict[str, str], bool]
|
Tuple of (transformed_body, headers, is_streaming) |
Source code in ccproxy/http/base.py
cleanup
async
¶
Cleanup handler resources.
Default implementation does nothing. Override in subclasses if cleanup is needed.