Dans Bun, fetch prend en charge l'envoi de requêtes via un proxy HTTP ou HTTPS. Ceci est utile sur les réseaux d'entreprise ou lorsque vous devez vous assurer qu'une requête est envoyée via une adresse IP spécifique.
await fetch("https://example.com", {
// L'URL du serveur proxy
proxy: "https://username:password@proxy.example.com:8080",
});L'option proxy peut être une chaîne URL ou un objet avec url et headers optionnels. L'URL peut inclure le nom d'utilisateur et le mot de passe si le proxy nécessite une authentification. Il peut s'agir de http:// ou https://.
En-têtes proxy personnalisés
Pour envoyer des en-têtes personnalisés au serveur proxy (utile pour les jetons d'authentification proxy, le routage personnalisé, etc.), utilisez le format objet :
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 propriété headers accepte un objet simple ou une instance Headers. Ces en-têtes sont envoyés directement au serveur proxy dans les requêtes CONNECT (pour les cibles HTTPS) ou dans la requête proxy (pour les cibles HTTP).
Si vous fournissez un en-tête Proxy-Authorization, il remplacera toutes les identifiants spécifiés dans l'URL du proxy.
Variables d'environnement
Vous pouvez également définir la variable d'environnement $HTTP_PROXY ou $HTTPS_PROXY sur l'URL du proxy. Ceci est utile lorsque vous souhaitez utiliser le même proxy pour toutes les requêtes.
HTTPS_PROXY=https://username:password@proxy.example.com:8080 bun run index.ts