Ħalli lil node-fetch jagħżel l-aġent tal-proxy wara ridirezzjoni
Uża funzjoni ta' aġent għal destinazzjonijiet HTTP u HTTPS sabiex ridirezzjoni tkun tista' tagħżel l-aġent tal-proxy xieraq.
L-ewwel URL tista' tkun HTTPS u l-URL ridiretta tista' tkun HTTP. Agħżel l-aġent skont id-destinazzjoni ta' kull talba, minflok ma torbot aġent wieħed mal-ewwel URL.
Għall-pakkett node-fetch importat f'applikazzjoni ESM, ipprovdi funzjoni:
import fetch from 'node-fetch';
import { HttpProxyAgent } from 'http-proxy-agent';
import { HttpsProxyAgent } from 'https-proxy-agent';
const proxyUrl = 'http://proxy.example:8080';
const httpAgent = new HttpProxyAgent(proxyUrl);
const httpsAgent = new HttpsProxyAgent(proxyUrl);
const response = await fetch('https://api.example/', {
agent: url => url.protocol === 'http:' ? httpAgent : httpsAgent,
});Ibdel l-URL tal-API u l-punt tat-tmiem tal-proxy. Għal API pubbliku permess permezz ta' intermedjarju pubbliku, il-lista tal-proxy HTTP tipprovdi kandidati għal proxyUrl. Iż-żewġ aġenti jistgħu jużaw l-istess semmiegħ tal-proxy HTTP; ismijiethom jirreferu għat-talba lejn id-destinazzjoni.
| URL mgħoddi lill-għażżiel | L-aġent magħżul |
|---|---|
| https://… | httpsAgent |
| http://… | httpAgent |
Għalhekk il-funzjoni xorta tagħżel l-aġent li jaqbel jekk ridirezzjoni tibdel il-protokoll tad-destinazzjoni. proxyUrl ikompli jiddeskrivi l-intermedjarju, indipendentement minn dik id-deċiżjoni.
Oħloq l-aġenti darba għall-piż tax-xogħol u użahom mill-ġdid. Immaniġġja l-istat li jintbagħat lura u aqra l-korp tar-risposta fil-kodiċi li jsejjaħ. Dan l-interface tal-aġent huwa ta' node-fetch; il-fetch integrat ta' Node juża interface tat-trasport differenti.