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.
Anatomia de uma requisição
Section titled “Anatomia de uma requisição”# @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/usersContent-Type: application/json
{ "name": "Juan" }Diretivas
Section titled “Diretivas”| Diretiva | Significado |
|---|---|
{{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-script | Pre-request script, carregado como linhas prefixadas por comentários. |
# @post-response-script … # @end-script | Post-response script, carregado como linhas prefixadas por comentários. |
# @settings … # @end-settings | Overrides HTTP por requisição (veja Ambientes). |
# @disable-cookie-jar | Ignora o cookie jar neste envio. |
# @auth … # @end-auth | O esquema de autenticação da requisição — tipo e mapeamento de campos — para que sobreviva a salvar / reabrir. |
O bloco # @auth
Section titled “O bloco # @auth”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.