HarGeneratorPlugin

Gera arquivos HTTP Archive (HAR) a partir das solicitações e respostas intercetadas.

Exemplo de configuração

{
  "$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
  }
}

Propriedades de configuração

Propriedade Description Default
includeSensitiveInformation Determina se devem ser incluídas informações confidenciais (cabeçalhos de autorização, cookies, etc.) no arquivo HAR gerado. Quando definido para false, os valores dos cabeçalhos sensíveis, cookies e parâmetros de consulta sensíveis são redigidos com o valor REDACTED false
includeResponse Determina se o conteúdo do corpo da resposta deve ser incluído no arquivo HAR gerado false

Opções da linha de comandos

Nenhum

Observações

O formato HAR (HTTP Archive) é um formato baseado em JSON para registrar transações HTTP. Várias ferramentas o apoiam amplamente e o usam para:

  • Analise o tráfego e o desempenho da rede
  • Depurar interações da API
  • Compartilhar dados de sessão HTTP
  • Importe para ferramentas de desenvolvedor de navegador e outras ferramentas de análise

Quando includeSensitiveInformation é definido como false, o plugin retira automaticamente os seguintes cabeçalhos sensíveis:

  • 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

O plugin também substitui os valores de todos os cookies de pedido e resposta (request.cookies e response.cookies) por REDACTED, mantendo os nomes dos cookies.

Adicionalmente, o plugin oculta os valores dos seguintes parâmetros sensíveis de consulta (indiferentes a maiúsculas e minúsculas) tanto no URL do pedido (request.url) como na cadeia de consulta (request.queryString). Outros parâmetros de consulta mantêm os seus valores originais.

  • 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

Por exemplo, o URL https://api.contoso.com/users?access_token=abc123&page=2 do pedido é registado como https://api.contoso.com/users?access_token=REDACTED&page=2.

O arquivo HAR gerado inclui:

  • Detalhes da solicitação HTTP (método, URL, cabeçalhos, parâmetros de consulta, cookies)
  • Detalhes da resposta HTTP (status, cabeçalhos, cookies)
  • Dados do organismo de pedido e resposta (quando aplicável)
  • Tipos e tamanhos de conteúdo
  • Informações de versão HTTP

O plugin cria um arquivo HAR nomeado devproxy-{timestamp}.har no diretório atual após a gravação parar.