पहला URL HTTPS हो सकता है और रीडायरेक्ट किया गया URL HTTP। एक ही एजेंट को पहले URL से बाँधने के बजाय हर अनुरोध के गंतव्य के अनुसार एजेंट चुनें।

ESM एप्लिकेशन में आयातित node-fetch पैकेज के लिए एक फ़ंक्शन दें:

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

API URL और प्रॉक्सी एंडपॉइंट बदलें। सार्वजनिक मध्यस्थ के ज़रिए अनुमत सार्वजनिक API के लिए HTTP प्रॉक्सी सूची proxyUrl के लिए उम्मीदवार देती है। दोनों एजेंट एक ही HTTP प्रॉक्सी श्रोता का उपयोग कर सकते हैं; उनके नाम गंतव्य अनुरोध को दर्शाते हैं।

सिलेक्टर को दिया गया URLचुना गया एजेंट
https://…httpsAgent
http://…httpAgent

इसलिए अगर रीडायरेक्ट गंतव्य का प्रोटोकॉल बदल देता है, तब भी फ़ंक्शन मेल खाता एजेंट चुनता है। proxyUrl उस निर्णय से स्वतंत्र रूप से मध्यस्थ का वर्णन करता रहता है।

एजेंट दोनों को कार्यभार के लिए एक बार बनाएँ और दोबारा उपयोग करें। लौटाई गई स्थिति संभालें और कॉलिंग कोड में प्रतिक्रिया निकाय पढ़ें। यह एजेंट इंटरफ़ेस node-fetch का है; Node का अंतर्निहित fetch अलग ट्रांसपोर्ट इंटरफ़ेस उपयोग करता है।

संबंधित लेख