Tornado-Proxy-Optiounen brauchen de richtegen HTTP-Backend
Iwwerpréift déi aktiv HTTP-Client-Implementatioun vun Tornado, ier Dir d'Proxy-Ufro-Optiounen astellt.
Tornado bitt eng eenzeg asynchron HTTP-Client-Schnittstell mat verschiddenen Implementatiounen drënner. Dofir kënnen Proxy-Optiounen wéinst der gewielter Implementatioun feel schloen, och wann den Proxy-Endpunkt richteg ass.
D'Dokumentatioun vum HTTP-Client nennt SimpleAsyncHTTPClient als Standardimplementatioun an dokumentéiert d'curl-baséiert Alternativ. Ufro-Optioune wéi proxy_host hunn implementatiounsspezifesch Ënnerstëtzungsnotizen. Liest dës Notizen, ier Dir Optiounen un engem fetch-Opruf derbäisetzt.
Astelle virum Client opbauen
An enger Ëmgebung, déi schonn de curl-Backend huet, kann eng Applikatioun en auswielen, ier se hire gemeinsame Client opbaut:
from tornado.httpclient import AsyncHTTPClient
AsyncHTTPClient.configure('tornado.curl_httpclient.CurlAsyncHTTPClient')
client = AsyncHTTPClient()
Benotzt duerno déi dokumentéiert Ufro-Optiounen fir Proxy-Host, Port, Authentifikatioun an Timeout fir den ugedaachten Opruff. Halt den Hostnumm getrennt vum numeresche Port. D'Wal vum Backend wielt net vu sech aus en Proxy-Endpunkt. Fir eng erlaabten ëffentlech HTTP-Route liwwert d'HTTP-Proxy-Lëscht Host- a Port-Kandidaten fir dës Ufro-Optiounen.
Den Opbau vum Client ass wichteg, well eng Applikatioun oder e Framework en HTTP-Client ka kreéieren an halen, ier dëse Code leeft. Ënnerpréift déi tatsächlech Instanz, déi an der feelgeschloener Ufro benotzt gouf, amplaz spéider en aneren Client ze kreéieren an unzehuelen, datt en déi éischt erkläert.
Fir d'Diagnos ze notéieren: de aktive Backend an d'Versioun vun der ënnerluegender Bibliothek zesumme mat der feelgeschloener Etapp. Ënnerscheet eng net-ënnerstëtzt Ufro-Optioun vun engem Netzwierk-Timeout an vun enger HTTP-Antwert, déi de Proxy zréckginn huet. Dës Observatiounen féieren zu verschiddenen Korrekturen.