В Bun fetch поддерживает отправку запросов через HTTP- или HTTPS-прокси. Это полезно в корпоративных сетях или когда нужно убедиться, что запрос отправляется через определённый IP-адрес.
await fetch("https://example.com", {
// URL прокси-сервера
proxy: "https://username:password@proxy.example.com:8080",
});Опция proxy может быть строкой URL или объектом с url и необязательными headers. URL может включать имя пользователя и пароль, если прокси требует аутентификации. Это может быть http:// или https://.
Пользовательские заголовки прокси
Для отправки пользовательских заголовков на прокси-сервер (полезно для токенов аутентификации прокси, пользовательской маршрутизации и т.д.), используйте формат объекта:
await fetch("https://example.com", {
proxy: {
url: "https://proxy.example.com:8080",
headers: {
"Proxy-Authorization": "Bearer my-token",
"X-Proxy-Region": "us-east-1",
},
},
});Свойство headers принимает простой объект или экземпляр Headers. Эти заголовки отправляются непосредственно на прокси-сервер в запросах CONNECT (для HTTPS-целей) или в прокси-запросе (для HTTP-целей).
Если вы предоставите заголовок Proxy-Authorization, он переопределит любые учётные данные, указанные в URL прокси.
Переменные окружения
Вы также можете установить переменную окружения $HTTP_PROXY или $HTTPS_PROXY в URL прокси. Это полезно, когда вы хотите использовать один и тот же прокси для всех запросов.
HTTPS_PROXY=https://username:password@proxy.example.com:8080 bun run index.ts