import { createClient } from 'contentful';
import { HttpsProxyAgent } from 'https-proxy-agent';

const agent = new HttpsProxyAgent('http://proxy.example:8080');
const client = createClient({
  space: spaceId,
  accessToken,
  adapter: 'http',
  httpsAgent: agent,
  proxy: false,
});

Используйте существующие spaceId/accessToken и этот клиент для операций Delivery API. Предполагается, что зависимости уже доступны. Для разрешённых публичных запросов Delivery API через публичного посредника список HTTP-прокси предлагает кандидатов для HTTP-прокси URL агента.

API по умолчанию использует HTTPS и выбирает httpsAgent. Этот агент может достучаться до слушателя HTTP-прокси и установить CONNECT. proxy:false не даёт Axios добавить ещё один выбор прокси.

Явный адаптер Node http важен: сеть браузера и другие адаптеры не получают маршрут сокета Node из этих полей. Держите агент на протяжении работы клиента и освободите его после завершения запросов при выключении.

Похожие статьи