AnyEvent::HTTP: adskilte proxy-ruter med sessionid
Brug en eksplicit AnyEvent::HTTP-proxy og en sessionsidentifikator, når flere proxy-ruter deler samme destination.
I AnyEvent::HTTP 2.25 kan en genbrugelig forbindelse få forrang, selv når den blev oprettet under en anden proxy-indstilling. Når anmodninger til samme websted bruger forskellige ruter, skal du adskille cachen med rutespecifikke sessionid-værdier:
my $request = http_get 'http://www.example.com/',
proxy => ['proxy.example', 8080],
sessionid => 'office-route',
sub {
my ($body, $headers) = @_;
print $headers->{Status};
};Medtag enhver kontoforskel, som applikationen har brug for, i den sessionsidentitet. Genbrug er begrænset til matchende sessioner. Sæt persistent til false i stedet, når en frisk forbindelse er nødvendig.
Til den viste offentlige HTTP-adresse kan HTTP-proxylisten levere kandidatværdier for vært og port, når en uautentificeret offentlig rute er tilladt. Uddraget forudsætter, at AnyEvent::HTTP er indlæst, og at dets hændelsesløkke kører. Hold anmodningens vagt i live til afslutning; ødelæggelse annullerer handlingen.
Proxy-arrayet tager værtsnavn, port og valgfrit HTTP-skema, ikke en URL med legitimationsoplysninger. Godkendelse kræver en passende Proxy-Authorization-header fra kalderen. Dette simple HTTP-eksempel holder routing og forbindelsesejerskab adskilt fra enhver HTTPS-tunnelkapacitet.