Pular para o conteúdo

O formato .http

O Fetchpier lê e escreve requisições como arquivos .http: sintaxe HTTP padrão mais um pequeno conjunto de extensões prefixadas por comentários. Esta página é a referência de sintaxe; veja Requisições (.http) para a visão conceitual.

# @id 9e3a4f72-1234-4abc-9def-0123456789ab
# @rawSubtype: json
# @pre-request-script
# fp.environment.set('token', 'abc')
# @end-script
# @settings
# httpVersion: auto
# verifySsl: true
# followRedirects: true
# maxRedirects: 5
# @end-settings
POST {{baseUrl}}/api/users
Content-Type: application/json
{ "name": "Juan" }
DiretivaSignificado
{{variable}}Placeholder resolvido contra o ambiente ativo (combinado com mutações de script em andamento) na URL, cabeçalhos, body e campos de formulário.
###Separador de requisições. O Fetchpier mantém uma requisição por arquivo: se um arquivo tiver várias, abre e executa só a primeira (veja Compatibilidade).
# @id <uuid>UUID estável que identifica a requisição entre renames e movimentações.
# @rawSubtype: <type>Subtipo do body — json, xml, javascript, text ou html — para realce e defaults de Content-Type.
# @pre-request-script … # @end-scriptPre-request script, carregado como linhas prefixadas por comentários.
# @post-response-script … # @end-scriptPost-response script, carregado como linhas prefixadas por comentários.
# @settings … # @end-settingsOverrides HTTP por requisição (veja Ambientes).
# @disable-cookie-jarIgnora o cookie jar neste envio.
# @auth … # @end-authO esquema de autenticação da requisição — tipo e mapeamento de campos — para que sobreviva a salvar / reabrir.

O bloco # @auth persiste o esquema de autenticação da requisição, para que o tipo e o mapeamento de campos sobrevivam a um ciclo de salvar / reabrir. O esquema ativo é também materializado na requisição executável como um cabeçalho padrão (ou um parâmetro de query inicial), então o arquivo continua enviando a auth ao ser aberto em outra ferramenta .http. Um esquema None não escreve bloco nem entrada materializada.

Um bloco malformado — incluindo um sem a linha de fechamento — é reportado e ignorado, e a requisição a que pertence ainda é carregada e continua executável, sem auth.

Veja Autenticação para os esquemas em si.

Como o formato é texto plano, o mesmo arquivo é legível em qualquer editor e revisável em um diff.

Compatibilidade com outras ferramentas .http

Section titled “Compatibilidade com outras ferramentas .http”

O Fetchpier lê e escreve o seu próprio dialeto .http: sintaxe HTTP padrão mais as diretivas prefixadas por comentários desta página. Leve em conta estes limites ao trazer arquivos de outra ferramenta ou ao levá-los para outra.

Uma requisição por arquivo. Um arquivo pode conter várias requisições separadas por ###, mas o Fetchpier abre e executa só a primeira, no app desktop e no fp run (a CLI mostra um aviso com o nome do arquivo). Divida um arquivo com várias requisições em um arquivo por requisição antes de trabalhar com ele.

Vindo do VS Code REST Client ou do JetBrains HTTP Client. O Fetchpier não suporta as extensões próprias dessas ferramentas:

  • variáveis no nível do arquivo (@name = value);
  • uma linha de requisição sem método;
  • parâmetros de query que continuam nas linhas seguintes;
  • um body lido de um arquivo com < path;
  • handlers de resposta > {% … %};
  • as variáveis dinâmicas próprias delas.

Defina as variáveis em um ambiente do Fetchpier e passe o tratamento da resposta para um post-response script.

Indo para outra ferramenta. Requisições simples também rodam no VS Code REST Client e no JetBrains HTTP Client depois que você define as variáveis lá; o esquema de auth ativo é gravado na requisição como um header padrão, então ele também vai junto. Ambientes, scripts e testes são específicos do Fetchpier e precisariam ser recriados.