HarGeneratorPlugin

Génère des fichiers d’archive HTTP (HAR) à partir des requêtes et réponses interceptées.

Exemple de configuration

{
  "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/rc.schema.json",
  "plugins": [
    {
      "name": "HarGeneratorPlugin",
      "enabled": true,
      "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
      "configSection": "harGeneratorPlugin"
    }
  ],
  "harGeneratorPlugin": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v4.0.0/hargeneratorplugin.schema.json",
    "includeSensitiveInformation": false,
    "includeResponse": true
  }
}

Propriétés de configuration

Propriété Descriptif Par défaut
includeSensitiveInformation Détermine s’il faut inclure des informations sensibles (en-têtes d’autorisation, cookies, etc.) dans le fichier HAR généré. Lorsque la valeur est définie false, les valeurs des en-têtes sensibles, des cookies et des paramètres de requête sensibles sont régérées avec la valeur REDACTED false
includeResponse Détermine s’il faut inclure le contenu du corps de la réponse dans le fichier HAR généré false

Options de ligne de commande

Aucun

Remarques

Le format HAR (Archive HTTP) est un format JSON pour la journalisation des transactions HTTP. Divers outils le prennent largement en charge et l’ont utilisé pour :

  • Analyser le trafic réseau et les performances
  • Interactions de l’API de débogage
  • Partager des données de session HTTP
  • Importer dans les outils de développement du navigateur et d’autres outils d’analyse

Quand includeSensitiveInformation la valeur est définie false, le plug-in réacte automatiquement les en-têtes sensibles suivants :

  • authorization
  • cookie
  • from
  • proxy-authenticate
  • proxy-authorization
  • set-cookie
  • www-authenticate
  • x-api-key
  • x-auth-token
  • x-csrf-token
  • x-forwarded-for
  • x-real-ip
  • x-session-token
  • x-xsrf-token

Le plug-in remplace également les valeurs de tous les cookies de demande et de réponse (request.cookies et response.cookies) par REDACTED, tout en conservant les noms des cookies.

En outre, le plug-in réacte les valeurs des paramètres de requête sensibles suivants (qui ne respectent pas la casse) à la fois dans l’URL de la requête (request.url) et la chaîne de requête (request.queryString). Les autres paramètres de requête conservent leurs valeurs d’origine.

  • access_token
  • api_key
  • api-key
  • apikey
  • auth
  • client_secret
  • code
  • id_token
  • key
  • password
  • refresh_token
  • secret
  • sig
  • signature
  • token
  • x-amz-credential
  • x-amz-security-token
  • x-amz-signature
  • x-goog-credential
  • x-goog-signature

Par exemple, l’URL https://api.contoso.com/users?access_token=abc123&page=2 de la requête est enregistrée en tant que https://api.contoso.com/users?access_token=REDACTED&page=2.

Le fichier HAR généré inclut les éléments suivants :

  • Détails de la requête HTTP (méthode, URL, en-têtes, paramètres de requête, cookies)
  • Détails de la réponse HTTP (état, en-têtes, cookies)
  • Données du corps de la demande et de la réponse (le cas échéant)
  • Types de contenu et tailles
  • Informations sur la version HTTP

Le plug-in crée un fichier HAR nommé devproxy-{timestamp}.har dans le répertoire actif après l’arrêt de l’enregistrement.