Os SDKs da Anthropic fornecem um hook de "middleware" (ou interceptador) que permite executar código antes de uma requisição ser enviada e depois que a resposta é recebida. Use middleware para preocupações transversais, como logging, retentativas personalizadas, anotação de requisições e tratamento de fallback para recusas.
Cada middleware pode inspecionar ou substituir a requisição antes de chamar next(), e a resposta depois que next() retorna.
Cada middleware é uma função que recebe a requisição de saída e um callable next. Chame next para encaminhar a requisição para o restante da cadeia (ou diretamente para o núcleo do SDK, se este for o último middleware), e retorne sua resposta. Tudo que vem antes da chamada a next é executado na ida; tudo que vem depois é executado na volta.
Quando você registra múltiplos middleware, eles são aplicados na ordem fornecida: o código "antes" do primeiro middleware é executado primeiro, e seu código "depois" é executado por último. Middleware registrado no cliente é executado antes de middleware passado como opção por requisição.
No SDK Go, chamadas repetidas a option.WithMiddleware são concatenadas (cliente primeiro, depois método). Nos outros SDKs, passe um array; entradas posteriores envolvem as internas.
Cada SDK também aceita um cliente HTTP personalizado (para configuração de proxy, TLS personalizado ou pooling de conexões). Apenas um cliente HTTP é usado por cliente do SDK; defini-lo substitui o padrão. O cliente HTTP personalizado recebe as requisições depois que todo o middleware foi executado.
Os SDKs incluem um middleware de fallback para recusas que automaticamente retenta requisições que o Claude Fable 5 recusa em um modelo de fallback. Consulte Detectar e retentar em um modelo de fallback para configuração e exemplos por linguagem.
Was this page helpful?