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.

  1. Démarrez Dev Proxy. Ouvrez une session d’invite de commandes. Entrez devproxy, puis appuyez sur Entrée.
  2. Certificat d’approbation. Le proxy de développement installe un certificat nommé Dev Proxy CA. Un avertissement s’affiche. Sélectionnez cette option Yes 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.
  3. 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.
  1. Démarrez Dev Proxy. Ouvrez une session d’invite de commandes. Entrez devproxy, puis appuyez sur Entrée.
  2. 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.
  3. 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 valeur 50 par 100.

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.

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 la configSection propriété.
  • Plus loin dans le fichier, recherchez l’objet genericRandomErrorPlugin . Notez la valeur de la errorsFile 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 la 429 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.