Prise en main du proxy de développement
Dev Proxy est un outil en ligne de commande qui vous aide à simuler les comportements et les erreurs des API cloud pour vous aider à créer des applications résilientes.
Dans ce tutoriel, vous allez apprendre à installer, exécuter et configurer le proxy de développement.
Si vous rencontrez des difficultés, n’hésitez pas à nous contacter en soulevant un nouveau problème et nous sommes heureux de vous aider.
Installer le proxy de développement
Le moyen le plus simple d’installer dev Proxy consiste à utiliser winget. Vous pouvez également installer le proxy de développement manuellement.
Pour installer dev Proxy à l’aide de winget, exécutez la commande suivante :
winget install Microsoft.DevProxy --silent
Important
Le programme d’installation du proxy de développement ajoute une nouvelle entrée à PATH. Pour utiliser le proxy de développement après l’installation, vous devez redémarrer l’invite de commandes pour vous assurer que les variables d’environnement PATH ont été actualisées.
Notes
Pour essayer les dernières fonctionnalités de préversion, installez la version bêta du proxy de développement.
Pour installer dev Proxy à l’aide de winget, exécutez la commande suivante :
winget install Microsoft.DevProxy.Beta --silent
Pour exécuter la version bêta du proxy de développement, utilisez devproxy-beta
Le moyen le plus simple d’installer dev Proxy consiste à utiliser Homebrew. Vous pouvez également installer le proxy de développement manuellement.
Pour installer le proxy de développement à l’aide de Homebrew, exécutez les commandes suivantes :
brew tap microsoft/dev-proxy
brew install dev-proxy
Notes
Pour essayer les dernières fonctionnalités de préversion, installez la version bêta du proxy de développement.
Pour installer le proxy de développement à l’aide de Homebrew, exécutez les commandes suivantes :
brew tap microsoft/dev-proxy
brew install dev-proxy-beta
Pour exécuter la version bêta du proxy de développement, utilisez devproxy-beta
Démarrer le proxy de développement pour la première fois
La première fois que vous démarrez le proxy de développement sur votre ordinateur, vous devez suivre quelques étapes pour vous assurer que le proxy de développement peut intercepter les demandes de votre ordinateur et répondre correctement. Vous n’aurez pas à répéter ces étapes après la première exécution.
- Démarrez Dev Proxy. Ouvrez une session d’invite de commandes. Entrez
devproxy
, puis appuyez sur Entrée. - Certificat d’approbation. Le proxy de développement installe un certificat nommé
Dev Proxy CA
. Un avertissement s’affiche. Sélectionnez cette optionYes
pour confirmer que vous souhaitez installer le certificat. Le proxy de développement utilise ce certificat pour déchiffrer le trafic HTTPS envoyé à partir de votre ordinateur. - Autoriser l’accès au pare-feu. Le Pare-feu Windows bloque le proxy. Un avertissement s’affiche. Sélectionnez
Allow access
le bouton pour autoriser le trafic via le pare-feu.
- Démarrez Dev Proxy. Ouvrez une session d’invite de commandes. Entrez
devproxy
, puis appuyez sur Entrée. - Certificat d’approbation. Le proxy de développement installe un certificat nommé
Dev Proxy CA
, qu’il utilise pour déchiffrer le trafic HTTPS envoyé à partir de votre ordinateur. Un avertissement s’affiche. Appuyez sur y pour confirmer que vous souhaitez approuver le certificat. - Acceptez les connexions entrantes. Un avertissement s’affiche. Sélectionnez
Allow
pour confirmer.
L’invite de commandes affiche la sortie suivante :
8 error responses loaded from devproxy-errors.json
Listening on 127.0.0.1:8000...
Hotkeys: issue (w)eb request, (r)ecord, (s)top recording, (c)lear screen
Press CTRL+C to stop Dev Proxy
Par défaut, le proxy de développement est configuré pour :
- Intercepter les requêtes adressées à n’importe quel point de terminaison d’API d’espace réservé JSON
- Simuler les réponses d’erreur d’API et la limitation des API avec un taux d’échec de 50 %
Intercepter les demandes
Le proxy de développement intercepte les demandes adressées à des URL connues à partir de n’importe quelle application sur votre ordinateur. Lorsqu’une demande est détectée, le proxy de développement transmet la demande à l’API (n’effectuez aucune action) ou retourne une réponse.
- Envoyez une requête à l’API d’espace réservé JSON à partir de la ligne de commande et revenez au processus proxy pour afficher la sortie.
Dans PowerShell, utilisez l’applet Invoke-WebRequest
de commande pour envoyer une requête GET à l’API d’espace réservé JSON.
Invoke-WebRequest -Uri https://jsonplaceholder.typicode.com/posts
Si vous utilisez curl
, envoyez une requête GET à l’API d’espace réservé JSON à l’aide de la commande suivante.
curl -ix http://localhost:8000 https://jsonplaceholder.typicode.com/posts
Vous pouvez également utiliser un client d’API comme Postman pour envoyer une requête GET à https://jsonplaceholder.typicode.com/posts
.
Une entrée s’affiche avec des informations de base sur la requête entrante et l’action effectuée par le proxy de développement. Dev Proxy simule une réponse d’erreur avec une probabilité de 50 %. Si votre demande ne retourne pas d’erreur, le proxy de développement la transmet.
request GET https://jsonplaceholder.typicode.com/posts
api ╭ Passed through
╰ GET https://jsonplaceholder.typicode.com/posts
- Répétez l’envoi des demandes à l’API d’espace réservé JSON à partir de la ligne de commande, jusqu’à ce qu’une réponse d’erreur soit retournée.
request GET https://jsonplaceholder.typicode.com/posts
api ╭ Passed through
╰ GET https://jsonplaceholder.typicode.com/posts
request GET https://jsonplaceholder.typicode.com/posts
chaos ╭ 403 Forbidden
╰ GET https://jsonplaceholder.typicode.com/posts
Lorsque dev Proxy retourne une réponse d’erreur, une chaos
étiquette s’affiche dans l’entrée.
- Essayez d’envoyer des demandes à d’autres points de terminaison disponibles sur l’API d’espace réservé JSON
https://jsonplaceholder.typicode.com/posts
https://jsonplaceholder.typicode.com/posts/1
https://jsonplaceholder.typicode.com/posts/1/comments
https://jsonplaceholder.typicode.com/comments?postId=1
Arrêter le proxy de développement en toute sécurité
Lorsque vous n’avez plus besoin de l’exécution du proxy de développement, vous devez toujours l’arrêter en toute sécurité.
- Appuyez sur Ctrl + C pour arrêter le proxy de développement en toute sécurité.
Si vous arrêtez la session d’invite de commandes, le proxy de développement ne se désinscrit pas correctement en tant que proxy système et vous risquez de rencontrer des problèmes courants.
Mettre à jour les URL sur watch
Par défaut, le proxy de développement est configuré pour intercepter toute requête adressée à l’API d’espace réservé JSON. Vous pouvez configurer le proxy de développement pour intercepter les requêtes à n’importe quelle API HTTP.
- Dans une invite de commandes, exécutez
brew list dev-proxy
pour localiser le dossier d’installation. - Ouvrez le dossier d’installation du proxy de développement dans le Finder.
- Dans le dossier d’installation du proxy de développement, ouvrez
devproxyrc.json
dans un éditeur de texte. - Recherchez le
urlsToWatch
tableau.
"urlsToWatch": [
"https://jsonplaceholder.typicode.com/*"
],
Le urlsToWatch
tableau représente les URL connues. Dev Proxy surveille les demandes de l’entrée actuelle vers n’importe quel point de terminaison. L’entrée utilise un astérisque après l’URL comme caractère générique. L’ajout d’entrées supplémentaires dans ce tableau développe les URL que dev Proxy surveille.
Considérons que vous ne souhaitez pas que le proxy de développement intercepte les requêtes effectuées à un point de terminaison spécifique.
- Ajoutez une nouvelle entrée au
urlsToWatch
tableau.
"urlsToWatch": [
"!https://jsonplaceholder.typicode.com/posts/2",
"https://jsonplaceholder.typicode.com/*"
],
Le point d’exclamation au début de l’URL indique au proxy de développement d’ignorer toutes les demandes qui correspondent à cette URL. Vous pouvez mélanger et faire correspondre des points d’exclamation et des astérisque dans une URL.
- Sur la ligne de commande, entrez
devproxy
et appuyez sur Entrée pour démarrer dev Proxy. - Envoyez une requête à
https://jsonplaceholder.typicode.com/posts/2
à partir de la ligne de commande et affichez la sortie.
Une entrée s’affiche confirmant que la demande a été ignorée et transmise à l’API.
request GET https://jsonplaceholder.typicode.com/posts/2
api ╭ Passed through
╰ GET https://jsonplaceholder.typicode.com/posts/2
L’ordre dans lequel les URL sont répertoriées dans le urlsToWatch
tableau est important. Dev Proxy traite ces URL dans l’ordre. Lorsqu’une URL correspond, elle n’est pas traitée à nouveau. Par conséquent, le fait de placer l’URL en premier garantit que la demande est ignorée avant le traitement de l’URL suivante.
Taux d’échec des modifications
Par défaut, le proxy de développement est configuré pour échouer les demandes avec 50 % de chances d’atteindre les URL qui sont surveillées. Vous pouvez augmenter ou diminuer le risque qu’une requête retourne une réponse d’erreur.
Mettons à jour le taux d’échec afin que chaque requête à l’API d’espace réservé JSON retourne une réponse d’erreur.
- Dans le dossier d’installation du proxy de développement, ouvrez
devproxyrc.json
dans un éditeur de texte. - Recherchez la propriété
rate
et remplacez la valeur50
par100
.
Le devproxyrc.json
fichier contient des paramètres de configuration qui sont utilisés lorsque vous démarrez dev Proxy. Lorsque vous modifiez les paramètres de configuration, vous devez toujours arrêter et démarrer le proxy de développement pour que les modifications soient conservées.
- Sur la ligne de commande, entrez
devproxy
et appuyez sur Entrée pour démarrer dev Proxy. - Envoyez une requête à l’API d’espace réservé JSON à partir de la ligne de commande et affichez la sortie.
Vous pouvez également remplacer les paramètres de configuration au moment de l’exécution en utilisant l’option lors du --failure-rate
démarrage du proxy de développement.
devproxy --failure-rate 100
- Appuyez sur Ctrl + C pour arrêter le proxy de développement en toute sécurité.
Simuler la limitation
Par défaut, dev Proxy retourne une plage de réponses d’erreur génériques 400 et 500. Vous pouvez personnaliser ces réponses d’erreur en fonction de vos propres besoins.
Le proxy de développement utilise des plug-ins pour activer différents comportements d’API. Par défaut, nous activez deux plug-ins pour vous.
- Le plug-in GenericRandomErrorPlugin permet au proxy de développement de répondre avec une réponse d’erreur.
- Le plug-in RetryAfterPlugin permet au proxy dev d’injecter une valeur dynamique dans l’en-tête Retry-After dans la réponse d’erreur.
Nous allons modifier la configuration afin que le proxy de développement retourne toujours une 429 Too Many requests
réponse d’erreur pour simuler la limitation.
Nous allons d’abord localiser l’emplacement du fichier qui contient les définitions d’erreur.
- Dans le dossier d’installation du proxy de développement, ouvrez
devproxyrc.json
dans un éditeur de texte. - Dans le
plugins
tableau, recherchez l’entrée du plug-in GenericRandomErrorPlugin . Notez la valeur de laconfigSection
propriété. - Plus loin dans le fichier, recherchez l’objet
genericRandomErrorPlugin
. Notez la valeur de laerrorsFile
propriété.
Conseil
L’emplacement du fichier d’erreurs s’affiche également dans la sortie lorsque vous démarrez dev Proxy.
- Dans le dossier d’installation du proxy de développement, ouvrez
devproxy-errors.json
dans un éditeur de texte. - Supprimez toutes les entrées de réponse dans le tableau, à l’exception
responses
de la429
réponse.
{
"$schema": "https://raw.githubusercontent.com/microsoft/dev-proxy/main/schemas/v0.14.1/genericrandomerrorplugin.schema.json",
"responses": [
{
"statusCode": 429,
"body": {
"message": "Too Many Requests",
"details": "The user has sent too many requests in a given amount of time (\"rate limiting\")."
},
"headers": {
"Retry-After": "@dynamic"
}
}
]
}
- Sur la ligne de commande, entrez
devproxy
et appuyez sur Entrée pour démarrer dev Proxy. - Envoyez une requête à l’API d’espace réservé JSON à partir de la ligne de commande et affichez la sortie.
request GET https://jsonplaceholder.typicode.com/posts
chaos ╭ 429 TooManyRequests
╰ GET https://jsonplaceholder.typicode.com/posts
- Appuyez sur Ctrl + C pour arrêter le proxy de développement en toute sécurité.
Étape suivante
Découvrez comment utiliser le proxy de développement pour simuler des erreurs aléatoires pour votre propre application.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour