diff options
Diffstat (limited to 'packages/core/src/tools')
| -rw-r--r-- | packages/core/src/tools/web-fetch.test.ts | 1 | ||||
| -rw-r--r-- | packages/core/src/tools/web-fetch.ts | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/packages/core/src/tools/web-fetch.test.ts b/packages/core/src/tools/web-fetch.test.ts index f4e3a652..6be9d504 100644 --- a/packages/core/src/tools/web-fetch.test.ts +++ b/packages/core/src/tools/web-fetch.test.ts @@ -13,6 +13,7 @@ describe('WebFetchTool', () => { const mockConfig = { getApprovalMode: vi.fn(), setApprovalMode: vi.fn(), + getProxy: vi.fn(), } as unknown as Config; describe('shouldConfirmExecute', () => { diff --git a/packages/core/src/tools/web-fetch.ts b/packages/core/src/tools/web-fetch.ts index 0f5be969..ee06880e 100644 --- a/packages/core/src/tools/web-fetch.ts +++ b/packages/core/src/tools/web-fetch.ts @@ -17,6 +17,7 @@ import { Config, ApprovalMode } from '../config/config.js'; import { getResponseText } from '../utils/generateContentResponseUtilities.js'; import { fetchWithTimeout, isPrivateIp } from '../utils/fetch.js'; import { convert } from 'html-to-text'; +import { ProxyAgent, setGlobalDispatcher } from 'undici'; const URL_FETCH_TIMEOUT_MS = 10000; const MAX_CONTENT_LENGTH = 100000; @@ -81,6 +82,10 @@ export class WebFetchTool extends BaseTool<WebFetchToolParams, ToolResult> { type: Type.OBJECT, }, ); + const proxy = config.getProxy(); + if (proxy) { + setGlobalDispatcher(new ProxyAgent(proxy as string)); + } } private async executeFallback( |
