In Bun, fetch supporta l'invio di richieste tramite un proxy HTTP o HTTPS. Questo è utile nelle reti aziendali o quando è necessario garantire che una richiesta venga inviata tramite un indirizzo IP specifico.
await fetch("https://example.com", {
// L'URL del server proxy
proxy: "https://username:password@proxy.example.com:8080",
});L'opzione proxy può essere una stringa URL o un oggetto con url e headers opzionali. L'URL può includere nome utente e password se il proxy richiede autenticazione. Può essere http:// o https://.
Header proxy personalizzati
Per inviare header personalizzati al server proxy (utile per token di autenticazione proxy, routing personalizzato, ecc.), usa il formato oggetto:
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 proprietà headers accetta un oggetto plain o un'istanza Headers. Questi header vengono inviati direttamente al server proxy nelle richieste CONNECT (per destinazioni HTTPS) o nella richiesta proxy (per destinazioni HTTP).
Se fornisci un header Proxy-Authorization, questo sovrascriverà eventuali credenziali specificate nell'URL del proxy.
Variabili d'ambiente
Puoi anche impostare la variabile d'ambiente $HTTP_PROXY o $HTTPS_PROXY sull'URL del proxy. Questo è utile quando vuoi usare lo stesso proxy per tutte le richieste.
HTTPS_PROXY=https://username:password@proxy.example.com:8080 bun run index.ts