Middleware¶
Agent middleware system.
Allows extension without bloating the core API.
- class agent.middleware.Middleware[source]¶
Bases:
objectBase middleware class.
Implement before(), after(), and/or on_error() to hook into the request lifecycle.
- before(request)[source]¶
Called before the request is sent to the provider.
Can modify the request or return a new one.
- Parameters:
request (
AgentRequest)- Return type:
- after(request, response)[source]¶
Called after receiving a response from the provider.
Can modify the response or return a new one.
- Parameters:
request (
AgentRequest)response (
AgentResponse)
- Return type:
- class agent.middleware.LoggingMiddleware(log_fn=None)[source]¶
Bases:
MiddlewareSimple logging middleware.
- Parameters:
log_fn (
Any)
- before(request)[source]¶
Called before the request is sent to the provider.
Can modify the request or return a new one.
- Parameters:
request (
AgentRequest)- Return type:
- after(request, response)[source]¶
Called after receiving a response from the provider.
Can modify the response or return a new one.
- Parameters:
request (
AgentRequest)response (
AgentResponse)
- Return type:
- on_error(request, error)[source]¶
Called when an error occurs.
Return None to suppress the error, or return the error (modified or not).
- Parameters:
request (
AgentRequest)error (
Exception)
- Return type:
- class agent.middleware.MetricsMiddleware[source]¶
Bases:
MiddlewareMiddleware that collects basic metrics.
- before(request)[source]¶
Called before the request is sent to the provider.
Can modify the request or return a new one.
- Parameters:
request (
AgentRequest)- Return type:
- after(request, response)[source]¶
Called after receiving a response from the provider.
Can modify the response or return a new one.
- Parameters:
request (
AgentRequest)response (
AgentResponse)
- Return type:
- on_error(request, error)[source]¶
Called when an error occurs.
Return None to suppress the error, or return the error (modified or not).
- Parameters:
request (
AgentRequest)error (
Exception)
- Return type:
- class agent.middleware.RedactionMiddleware(patterns=None)[source]¶
Bases:
MiddlewareMiddleware that redacts sensitive information from logs/traces.
- before(request)[source]¶
Called before the request is sent to the provider.
Can modify the request or return a new one.
- Parameters:
request (
AgentRequest)- Return type:
- after(request, response)[source]¶
Called after receiving a response from the provider.
Can modify the response or return a new one.
- Parameters:
request (
AgentRequest)response (
AgentResponse)
- Return type:
- class agent.middleware.RetryPolicyMiddleware(max_retries=3, retryable_errors=None)[source]¶
Bases:
MiddlewareMiddleware that applies custom retry policies.
- class agent.middleware.MiddlewareChain(middlewares=None)[source]¶
Bases:
objectChain of middleware to be executed in order.
- Parameters:
middlewares (
list[Middleware] |None)
- add(middleware)[source]¶
Add a middleware to the chain.
- Parameters:
middleware (
Middleware)- Return type:
- run_before(request)[source]¶
Run all before hooks.
- Parameters:
request (
AgentRequest)- Return type:
- run_after(request, response)[source]¶
Run all after hooks in reverse order.
- Parameters:
request (
AgentRequest)response (
AgentResponse)
- Return type: