Esimene URL võib olla HTTPS ja ümbersuunatud URL HTTP. Vali agent iga päringu sihtkoha järgi, selle asemel et siduda üks agent esimese URL-iga.

ESM-rakenduses imporditud node-fetchi paketi jaoks anna funktsioon:

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,
});

Asenda API URL ja puhverserveri lõpp-punkt. Avaliku vahendaja kaudu lubatud avaliku API jaoks pakub HTTP-puhverserverite loend kandidaate proxyUrl jaoks. Mõlemad agendid võivad kasutada sama HTTP-puhverserveri kuulajat; nende nimed viitavad sihtkoha päringule.

Valijale edastatud URLValitud agent
https://…httpsAgent
http://…httpAgent

Seega valib funktsioon endiselt sobiva agendi, kui ümbersuunamine muudab sihtkoha protokolli. proxyUrl kirjeldab jätkuvalt vahendajat, sõltumata sellest otsusest.

Loo agendid töökoormuse jaoks üks kord ja kasuta neid uuesti. Käsitle tagastatud olekut ja tarbi vastuse keha kutsuva koodi sees. See agendiliides kuulub node-fetchile; Node'i sisseehitatud fetch kasutab teistsugust transpordiliidest.

Seotud artiklid