URL-ja e parë mund të jetë HTTPS dhe URL-ja e ridrejtuar HTTP. Zgjidh agjentin sipas destinacionit të çdo kërkese, në vend që të lidhësh një agjent të vetëm me URL-në e parë.

Për paketën node-fetch të importuar në një aplikacion ESM, jep një funksion:

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

Zëvendëso URL-në e API-t dhe pikën fundore të proxy-t. Për një API publik të lejuar përmes një ndërmjetësi publik, lista e proxy-ve HTTP ofron kandidatë për proxyUrl. Dy agjentët mund të përdorin të njëjtin dëgjues proxy HTTP; emrat e tyre i referohen kërkesës drejt destinacionit.

URL-ja që i kalon përzgjedhësitAgjenti i zgjedhur
https://…httpsAgent
http://…httpAgent

Prandaj funksioni vazhdon të zgjedhë agjentin përkatës nëse një ridrejtim ndryshon protokollin e destinacionit. proxyUrl vazhdon të përshkruajë ndërmjetësin, pavarësisht nga ky vendim.

Krijo agjentët një herë për ngarkesën dhe ripërdori ata. Trajto statusin e kthyer dhe lexo trupin e përgjigjes në kodin që thërret. Kjo ndërfaqe agjenti i përket node-fetch; fetch-i i integruar i Node përdor një ndërfaqe tjetër transporti.

Artikuj të ngjashëm