Contentful の Node HTTP アダプターにプロキシエージェントを渡す
adapter:http、httpsAgent、proxy:false を同時に設定し、渡した CONNECT エージェントに経路を任せます。
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,
});Delivery API の操作には既存の spaceId/accessToken とこのクライアントを使います。依存関係はすでに揃っているものとします。公的な仲介者を経由する許可済みの公開 Delivery API リクエストでは、HTTP プロキシ一覧がエージェントの HTTP プロキシ URL の候補を提供します。
既定の API は HTTPS を使うため httpsAgent が選ばれます。そのエージェントは HTTP プロキシのリスナーに到達して CONNECT を確立できます。proxy:false は Axios が別のプロキシ選択を追加するのを防ぎます。
明示的な Node http アダプターが重要です。ブラウザーのネットワークや他のアダプターは、これらのフィールドから Node ソケットの経路を得られません。クライアントの処理中はエージェントを保持し、終了時にリクエストが完了したら解放してください。