A biblioteca auxiliar .NET da Twilio aceita sua própria abstração de transporte HTTP. Seu adaptador SystemNetHttpClient permite que esse transporte use um System.Net.Http.HttpClient configurado pela aplicação.

var proxy = new System.Net.WebProxy(
    "http://proxy.example.net:8080")
{
    Credentials = proxyCredentials
};

var handler = new System.Net.Http.HttpClientHandler
{
    Proxy = proxy,
    UseProxy = true,
    AllowAutoRedirect = false
};

var systemHttp = new System.Net.Http.HttpClient(handler);
var transport = new Twilio.Http.SystemNetHttpClient(systemHttp);
var twilioClient = new Twilio.Clients.TwilioRestClient(
    accountSid, authToken, httpClient: transport);

A aplicação fornece proxyCredentials, como um NetworkCredential adequado, e seus accountSid e authToken da Twilio já existentes. Remova o inicializador Credentials quando o intermediário não precisar de conta. Um endpoint HTTP escolhido da lista de proxies HTTP é outro candidato para essa rota sem autenticação, sujeito à política de rede desta aplicação.

Passe twilioClient ao parâmetro client da operação auxiliar. Caso contrário, essa operação pode usar um cliente padrão configurado separadamente.

AllowAutoRedirect está desativado aqui para manter o comportamento padrão do adaptador do SDK quando ele cria seu próprio cliente subjacente. Se você fornecer seu próprio HttpClient, as configurações do handler dele passam a ser sua responsabilidade.

Mantenha systemHttp ativo durante a carga de trabalho associada e libere-o quando ela terminar. Um novo handler em cada requisição do SDK cria um novo pool de conexões em vez de reutilizar o transporte configurado.

Artigos relacionados