En Bun, fetch soporta enviar solicitudes a través de un proxy HTTP o HTTPS. Esto es útil en redes corporativas o cuando necesitas asegurar que una solicitud se envíe a través de una dirección IP específica.
await fetch("https://example.com", {
// La URL del servidor proxy
proxy: "https://username:password@proxy.example.com:8080",
});La opción proxy puede ser una cadena URL o un objeto con url y headers opcionales. La URL puede incluir el nombre de usuario y contraseña si el proxy requiere autenticación. Puede ser http:// o https://.
Encabezados de proxy personalizados
Para enviar encabezados personalizados al servidor proxy (útil para tokens de autenticación de proxy, enrutamiento personalizado, etc.), usa el formato de objeto:
await fetch("https://example.com", {
proxy: {
url: "https://proxy.example.com:8080",
headers: {
"Proxy-Authorization": "Bearer my-token",
"X-Proxy-Region": "us-east-1",
},
},
});La propiedad headers acepta un objeto plano o una instancia Headers. Estos encabezados se envían directamente al servidor proxy en solicitudes CONNECT (para destinos HTTPS) o en la solicitud proxy (para destinos HTTP).
Si proporcionas un encabezado Proxy-Authorization, anulará cualquier credencial especificada en la URL del proxy.
Variables de entorno
También puedes establecer la variable de entorno $HTTP_PROXY o $HTTPS_PROXY a la URL del proxy. Esto es útil cuando quieres usar el mismo proxy para todas las solicitudes.
HTTPS_PROXY=https://username:password@proxy.example.com:8080 bun run index.ts