HarGeneratorPlugin

Gera arquivos DE ARQUIVO HTTP (HAR) das solicitações e respostas interceptadas.

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 Padrão
includeSensitiveInformation Determina se as informações confidenciais (cabeçalhos de autorização, cookies etc.) devem ser incluídas no arquivo HAR gerado. Quando definido como false, os valores de cabeçalhos confidenciais, cookies e parâmetros de consulta confidenciais 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 de linha de comando

None

Observações

O formato HAR (Arquivo HTTP) é um formato baseado em JSON para registrar transações HTTP em log. Várias ferramentas dão suporte a ela e a usaram para:

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

Quando includeSensitiveInformation é definido como false, o plug-in redicializa automaticamente os seguintes cabeçalhos confidenciais:

  • 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 plug-in também substitui os valores de todos os cookies de solicitação e resposta (request.cookies e response.cookies) REDACTEDpor , mantendo os nomes de cookie.

Além disso, o plug-in redigi os valores dos seguintes parâmetros de consulta confidenciais (que não diferenciam maiúsculas de minúsculas) na URL da solicitação (request.url) e na cadeia de caracteres de consulta (request.queryString). Outros parâmetros de consulta mantêm 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, a URL https://api.contoso.com/users?access_token=abc123&page=2 da solicitação é registrada 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 corpo da solicitação e da resposta (quando aplicável)
  • Tipos e tamanhos de conteúdo
  • Informações de versão HTTP

O plug-in cria um arquivo HAR nomeado devproxy-{timestamp}.har no diretório atual após as paradas de gravação.

Consulte também