ccproxy.services.cache.response_cache¶
ccproxy.services.cache.response_cache
¶
Response caching for API requests.
CacheEntry
dataclass
¶
ResponseCache
¶
In-memory response cache with TTL support.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
default_ttl
|
float
|
Default time-to-live in seconds (5 minutes) |
300.0
|
max_size
|
int
|
Maximum number of cached entries |
1000
|
Source code in ccproxy/services/cache/response_cache.py
get
¶
Get a cached response if available and not expired.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
method
|
str
|
HTTP method |
required |
url
|
str
|
Request URL |
required |
body
|
bytes | None
|
Request body |
None
|
headers
|
dict[str, str] | None
|
Request headers |
None
|
Returns:
| Type | Description |
|---|---|
Any | None
|
Cached response data or None |
Source code in ccproxy/services/cache/response_cache.py
set
¶
Cache a response.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
method
|
str
|
HTTP method |
required |
url
|
str
|
Request URL |
required |
data
|
Any
|
Response data to cache |
required |
body
|
bytes | None
|
Request body |
None
|
headers
|
dict[str, str] | None
|
Request headers |
None
|
ttl
|
float | None
|
Time-to-live in seconds (uses default if None) |
None
|
Source code in ccproxy/services/cache/response_cache.py
invalidate
¶
Invalidate cached entries.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
method
|
str | None
|
HTTP method to match (None for any) |
None
|
url
|
str | None
|
URL to match (None for any) |
None
|
pattern
|
str | None
|
URL pattern to match (None for any) |
None
|
Returns:
| Type | Description |
|---|---|
int
|
Number of entries invalidated |
Source code in ccproxy/services/cache/response_cache.py
clear
¶
cleanup_expired
¶
Remove all expired entries.
Returns:
| Type | Description |
|---|---|
int
|
Number of entries removed |