No AnyEvent::HTTP 2.25, uma conexão reutilizável pode ter prioridade mesmo tendo sido criada com outra configuração de proxy. Quando pedidos ao mesmo site usam rotas diferentes, separe a cache com valores sessionid específicos da rota:

my $request = http_get 'http://www.example.com/',
    proxy => ['proxy.example', 8080],
    sessionid => 'office-route',
    sub {
        my ($body, $headers) = @_;
        print $headers->{Status};
    };

Inclua nessa identidade de sessão qualquer distinção de conta de que a aplicação precise. A reutilização fica limitada a sessões correspondentes. Defina persistent como false quando for necessária uma conexão nova.

Para o endereço HTTP público mostrado, a lista de proxies HTTP pode fornecer valores candidatos de anfitrião e porta quando é permitida uma rota pública sem autenticação. O trecho assume que o AnyEvent::HTTP está carregado e que o seu ciclo de eventos está a correr. Mantenha vivo o guarda do pedido até à conclusão; destruí-lo cancela a operação.

A matriz de proxy recebe nome de anfitrião, porta e esquema HTTP opcional, não um URL com credenciais. A autenticação exige um cabeçalho Proxy-Authorization adequado fornecido por quem chama. Este exemplo HTTP simples mantém o encaminhamento e a propriedade da conexão separados de qualquer capacidade de túnel HTTPS.

Artigos relacionados