Formato .http
Fetchpier lee y escribe las solicitudes como archivos .http: sintaxis HTTP estándar más un pequeño
conjunto de extensiones prefijadas con comentarios. Esta página es la referencia de sintaxis; mirá
Solicitudes (.http) para la visión conceptual.
Anatomía de una solicitud
Section titled “Anatomía de una solicitud”# @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" }Directivas
Section titled “Directivas”| Directiva | Significado |
|---|---|
{{variable}} | Placeholder resuelto contra el entorno activo (combinado con las mutaciones de script en curso) en la URL, las cabeceras, el body y los campos de formulario. |
### | Separador de solicitudes. Fetchpier mantiene una solicitud por archivo: si un archivo tiene varias, abre y ejecuta solo la primera (ver Compatibilidad). |
# @id <uuid> | UUID estable que identifica la solicitud entre renombres y movimientos. |
# @rawSubtype: <type> | Subtipo del body — json, xml, javascript, text o html — para el resaltado y los defaults de Content-Type. |
# @pre-request-script … # @end-script | Pre-request script, transportado como líneas prefijadas con comentarios. |
# @post-response-script … # @end-script | Post-response script, transportado como líneas prefijadas con comentarios. |
# @settings … # @end-settings | Overrides HTTP por solicitud (mirá Entornos). |
# @disable-cookie-jar | Saltea el cookie jar en este envío. |
# @auth … # @end-auth | El esquema de autenticación de la solicitud —tipo y mapeo de campos— para que sobreviva un guardar / reabrir. |
El bloque # @auth
Section titled “El bloque # @auth”El bloque # @auth persiste el esquema de autenticación de la solicitud, para que el tipo y el mapeo de
campos sobrevivan un ciclo de guardar / reabrir. El esquema activo además se materializa en la
solicitud ejecutable como una cabecera estándar (o un parámetro de query inicial), así el archivo sigue
enviando la auth cuando se abre en otra herramienta .http. Un esquema None no escribe ni bloque ni
entrada materializada.
Un bloque malformado —incluido uno al que le falte la línea de cierre— se reporta y se ignora, y la solicitud a la que pertenece igual carga y sigue siendo ejecutable, sin auth.
Mirá Autenticación para los esquemas en sí.
Como el formato es texto plano, el mismo archivo se puede leer desde cualquier editor y revisar en un diff.
Compatibilidad con otras herramientas .http
Section titled “Compatibilidad con otras herramientas .http”Fetchpier lee y escribe su propio dialecto .http: sintaxis HTTP estándar más las directivas
prefijadas con comentarios de esta página. Tené en cuenta estos límites al traer archivos de otra
herramienta o al llevarlos a otra.
Una solicitud por archivo. Un archivo puede tener varias solicitudes separadas por ###, pero
Fetchpier abre y ejecuta solo la primera, en la app de escritorio y en fp run (la CLI muestra un
aviso con el nombre del archivo). Separá un archivo con varias solicitudes en un archivo por solicitud
antes de trabajar con él.
Si venís de VS Code REST Client o JetBrains HTTP Client. Fetchpier no soporta las extensiones propias de esas herramientas:
- variables a nivel de archivo (
@name = value); - una línea de solicitud sin método;
- parámetros de query que continúan en las líneas siguientes;
- un body leído desde un archivo con
< path; - handlers de respuesta
> {% … %}; - sus propias variables dinámicas.
Definí las variables en un entorno de Fetchpier y pasá el manejo de la respuesta a un post-response script.
Si vas hacia otra herramienta. Las solicitudes simples también corren en VS Code REST Client y JetBrains HTTP Client una vez que definís ahí sus variables; el esquema de auth activo se escribe en la solicitud como un header estándar, así que también viaja. Los entornos, los scripts y los tests son propios de Fetchpier y habría que recrearlos.