AnyEvent::HTTP: separar rutas de proxy con sessionid
Use un proxy explícito de AnyEvent::HTTP y un identificador de sesión cuando varias rutas de proxy comparten el mismo destino.
En AnyEvent::HTTP 2.25, una conexión reutilizable puede tener prioridad incluso si se creó con otra configuración de proxy. Cuando las peticiones a un mismo sitio usan rutas distintas, separe la caché con valores sessionid propios de cada ruta:
my $request = http_get 'http://www.example.com/',
proxy => ['proxy.example', 8080],
sessionid => 'office-route',
sub {
my ($body, $headers) = @_;
print $headers->{Status};
};Incluya en esa identidad de sesión cualquier distinción de cuenta que necesite la aplicación. La reutilización queda limitada a sesiones coincidentes. Configure persistent en false cuando haga falta una conexión nueva.
Para la dirección HTTP pública mostrada, la lista de proxies HTTP puede aportar valores candidatos de host y puerto cuando se permite una ruta pública sin autenticación. El fragmento supone que AnyEvent::HTTP está cargado y que su bucle de eventos se ejecuta. Mantenga vivo el guardián de la petición hasta completarla; destruirlo cancela la operación.
La matriz de proxy acepta nombre de host, puerto y esquema HTTP opcional, no una URL con credenciales. La autenticación requiere una cabecera Proxy-Authorization adecuada que aporte quien llama. Este ejemplo HTTP sencillo mantiene el enrutamiento y la propiedad de la conexión separados de cualquier capacidad de túnel HTTPS.