ਪਹਿਲਾ 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 ਵੱਖਰਾ ਟ੍ਰਾਂਸਪੋਰਟ ਇੰਟਰਫੇਸ ਵਰਤਦਾ ਹੈ।

ਸੰਬੰਧਿਤ ਲੇਖ