请求中间件
了解如何拦截 SDK 发起的请求,并统一添加额外的逻辑。
AutoAI SDK 为 Client 或 Transport 级别的请求提供了请求中间件的特性。
该特性允许在 请求/响应 的生命周期中添加自定义的逻辑。
例如,Client 级别的中间件,可以拦截参数/响应字典:
- snippet.python
from ucloud.client import Client client = Client({'Region': 'cn-bj2', ...}) @client.middleware.request def log_params(req): print('[REQ]', req) @client.middleware.response def log_response(resp): print('[RESP]', resp)
或者 Transport 级别的中间件,可以拦截 HTTP 的网络请求:
- snippet.python
from ucloud.client import Client from ucloud.core.transport import RequestsTransport transport = RequestsTransport() @transport.middleware.request def log_request(req): print('[REQ]', req) @transport.middleware.response def log_response(resp): print('[RESP]', resp) client = Client({'Region': 'cn-bj2', ...}, transport=transport)