Pular para o conteúdo

Histórico e o painel de atividade

Cada envio que produziu uma resposta grava um arquivo .http em requests/.runs/. Um envio que nunca chegou ao seu servidor — um host inalcançável, uma conexão recusada, um timeout expirado — não tem resposta para registrar e não grava nenhuma entrada; o motivo é exibido na própria requisição.

O nome do arquivo codifica o timestamp, um desambiguador curto derivado do id da execução, o método e uma URL slugificada: 20260515T142304123Z-3f7a-POST-auth_login.http.

O conteúdo é texto .http real que você pode abrir no editor: um bloco de diretivas de metadata # @ (timestamp, id da execução, arquivo de origem, duração, settings resolvidas) no topo, a requisição como ela saiu pela rede, a linha ### Response, a resposta e — quando há logs ou asserções — um bloco # @script-results: … ao final. Cada entrada registra:

  • A requisição que saiu pela rede (método, URL, cabeçalhos, body) após a interpolação de variáveis, com os cookies efetivamente anexados visíveis no cabeçalho Cookie:.
  • A resposta (status, cabeçalhos, body, timing) com os cabeçalhos Set-Cookie: preservados literalmente.
  • O vínculo de volta ao arquivo .http de origem e o UUID estável da requisição.
  • Resultados de scripts — logs, testes com pass/fail e um stack trace filtrado para erros de nível superior — de ambas as fases, quando houver.
  • As settings HTTP resolvidas realmente usadas no envio.

Bodies binários — detectados pelo prefixo do Content-Type, um Content-Encoding diferente de identity, ou uma sondagem UTF-8 do primeiro 1 KB — são substituídos por uma linha placeholder que registra a quantidade de bytes, o content type e o content encoding. Isso mantém o arquivo legível por um humano e evita que bytes não textuais corrompam a visão do editor.

O painel de atividade é um painel de largura total que emerge da parte de baixo da janela. É opt-in: sempre começa fechado ao iniciar e é alternado por um botão da barra de status ou Cmd/Ctrl+J (também View → Toggle Activity Panel). Ele sobrepõe o editor e o visualizador de respostas, mas nunca a barra de status, então o toggle continua visível.

O painel é organizado por abas, uma por tipo de atividade. A v1 traz uma única aba Requests que lista os registros da requisição ativa. Ao clicar em uma linha, ela se expande no lugar — várias podem ficar expandidas ao mesmo tempo — em um visualizador estruturado daquela execução; com o botão direito aparecem “Open” (uma aba somente leitura), “Raw .http” (o conteúdo do arquivo literal) e “Delete”; um pequeno ícone de repetir reexecuta a requisição.

A visão expandida mostra uma tabela chave/valor de Metadata (arquivo de origem com uma ação “Open file”, id da execução, id da requisição, duração, status, IP remoto, timestamp em hora local e uma linha por cada setting HTTP resolvida), a Request e a Response em cru exatamente como foram gravadas, e — quando a execução produziu conteúdo de scripts — uma seção Scripts que lista logs e asserções com pass/fail na ordem de execução, agrupadas por fase (Pre-request / Post-response). Quando o Content-Type da resposta é JSON, um toggle Format por linha formata o body sem afetar os cabeçalhos nem qualquer outra linha.

A tira de abas é a superfície onde os futuros tipos de atividade (mocks, flows, fluxos OAuth) vão aparecer como abas adicionais, sem reestruturar a sidebar.

Você redimensiona o painel arrastando a borda superior, e a altura é lembrada entre sessões (o estado aberto/fechado e o de popout não). Na primeira execução ele abre com aproximadamente metade da altura da janela, limitado para que o editor e a barra de status ainda tenham espaço.

O painel também pode ser destacado em sua própria janela mínima — útil para setups de dois monitores. Enquanto está em popout, o painel ancorado desaparece e o toggle da barra de status ou o atalho focam o popout em vez de abrir um duplicado; fechar o popout (ou clicar em “dock back”) devolve o painel ao seu lugar dentro da janela. A janela de popout não é restaurada ao reiniciar a app.