Ir al contenido

Entornos

Un entorno es un conjunto de variables con nombre guardado como JSON. Un workspace puede tener cualquier cantidad de entornos; exactamente uno está activo a la vez. El entorno activo se registra en el archivo de estado personal del workspace, así sobrevive a los reinicios, y si ese entorno ya no existe Fetchpier cae al primero disponible.

Las variables que define un entorno alimentan los placeholders {{name}}, los campos de auth y las passphrases de TLS. Los pre-request scripts pueden leerlas y escribirlas — mirá Variables.

Cada entorno vive en su propia carpeta, nombrada según el entorno en una forma segura para el filesystem: los caracteres acentuados se transliteran a su letra base (Producción → produccion), todo lo demás fuera de letras y dígitos se convierte en guion, y los nombres muy largos se acortan en un guion. Ese nombre de carpeta es el handle público del entorno —es lo que trackea el control de versiones y lo que nombra una corrida de línea de comandos— mientras que el nombre de display se conserva exactamente como lo tipeaste.

Dos entornos no pueden caer en la misma carpeta: un nombre que colisiona con uno existente, o que no contiene ninguna letra ni dígito, se rechaza en el momento y se te pide elegir otro. Fetchpier nunca inventa un nombre en tu nombre. Un nombre rechazado deja el campo abierto con el texto tal como lo escribiste, así lo corregís en lugar de volver a tipearlo.

Aparte de ambos nombres, cada entorno lleva un identificador interno estable que nunca cambia. Eso es lo que hace seguro el renombrado: renombrar mueve la carpeta y cambia la etiqueta, pero el entorno que es sigue siendo el mismo, así que la selección activa, su cookie jar y sus valores locales a la máquina lo siguen sin nada que reapuntar. Renombrar la carpeta de un entorno a mano por fuera de la app es una forma legítima de renombrarlo: Fetchpier lee lo que encuentra, adopta el nombre de la carpeta como nombre de display, y nunca mueve los archivos de vuelta.

El panel de Entornos te deja crear, editar y cambiar de entorno. Hacer click sobre un entorno de la lista lo abre para editarlo; el click derecho hace lo mismo y abre un menú con renombrar, duplicar y eliminar, así el menú nunca actúa sobre un entorno cuyas variables no estás viendo:

  • Renombrar edita la fila en el lugar, precargada con el nombre actual. Mueve la carpeta del entorno y lo reetiqueta; nada más cambia — el mismo entorno queda seleccionado y activo, y sus cookies y valores locales a la máquina se mueven con él.
  • Duplicar abre una fila nueva debajo del origen, precargada con el primer <nombre>-copy libre (después -copy-2, …). No se escribe nada hasta que se confirma el nombre. La copia recibe cada variable del origen textualmente —planas, secretas y “necesita valor” por igual, así los valores encriptados siguen funcionando sin desencriptarse nunca— pero arranca con un cookie jar vacío y sin overrides de valores locales: ese estado es personal de una máquina y no es parte de lo que se comparte.
  • Eliminar pide confirmación en un diálogo que nombra el entorno y aclara que sus cookies y overrides de valores locales a la máquina se van con él y no tienen otra copia. Cuando el entorno eliminado era el seleccionado, el primer entorno restante toma su lugar.

Sobre la lista hay un cuadro de búsqueda, con los botones de orden a su derecha. La búsqueda encuentra coincidencias en cualquier parte del nombre del entorno, sin distinguir mayúsculas ni acentos (produccion encuentra Producción), y lo avisa cuando nada coincide — el campo de creación sigue disponible, así una búsqueda sin resultados está a una tecla de crear lo que estabas buscando. El orden es por nombre, A → Z o Z → A; el panel abre en A → Z. Ambos son formas de mirar la lista, no cambios sobre ella: no se escribe nada, ningún entorno se mueve en disco, y ambos se restablecen la próxima vez que se abre el panel. Una fila cuyo nombre se está editando sigue visible aunque la búsqueda deje de coincidir con ella, así un nombre rechazado y su error nunca se filtran a mitad de la corrección.

Los entornos se listan alfabéticamente dondequiera que elijas uno. El dropdown de entorno está ordenado por nombre, y también el panel de mantenimiento por default — el orden en que las carpetas quedan en disco es un accidente, no una decisión de nadie.

El panel es un editor, no un selector. Cuál entorno está activo lo elegís solo vos, desde el dropdown de entorno. Seleccionar una fila en el panel de mantenimiento carga las variables de ese entorno para editarlas y nada más — cerrar el panel nunca cambia contra qué entorno resuelve la próxima solicitud. La única excepción es eliminar el entorno activo: ya no existe, así que el primero restante toma su lugar.

Dentro de un entorno, todas las variables aparecen en una sola lista cuyas filas podés reordenar arrastrando; el orden elegido es significativo y persiste entre recargas. Una variable no compartida —una que tiene un valor local que el archivo de entorno compartido no tiene— es la única excepción: se ubica al final de la lista y no tiene handle de arrastre hasta que llega al archivo compartido, porque hasta entonces no hay dónde registrar su posición.

Un pequeño conjunto de comportamientos HTTP es controlable en dos niveles: un default del workspace y un override por solicitud. Los overrides por solicitud tienen prioridad; si no, se aplica el default del workspace.

SettingSignificado
httpVersionauto (negocia — HTTP/2 si ambos extremos lo soportan), http1 o http2.
verifySslSi se verifica el certificado TLS del servidor. Por default, verdadero.
followRedirectsSi las respuestas 3xx se siguen automáticamente.
maxRedirectsTope de redirecciones a seguir.
followAuthorizationOnRedirectSi se mantiene la cabecera Authorization cuando una redirección cruza de host. Por default, falso (se quita la cabecera).
encodeUrlCuando está activo, los valores de los parámetros de query se codifican en porcentaje después de resolver {{variable}}, así un valor resuelto no puede romper la query; cuando está apagado, los valores resueltos se envían en crudo — una vía de escape en la que vos te haces responsable de los bytes.
disableCookieJarSaltea el adjuntado y la captura de cookies para esta solicitud.

Los cambios a nivel workspace se difunden a cada ventana abierta, así los usuarios concurrentes del mismo workspace ven un comportamiento consistente.

Además de los settings overrideables por solicitud de arriba, el panel de settings del workspace expone una política a nivel de todo el workspace:

SettingSignificado
binaryFileLimits.warnBytesUmbral de tamaño de archivo por encima del cual adjuntar un body binario dispara un pedido de confirmación. Default 50 MB.
binaryFileLimits.blockBytesUmbral de tamaño de archivo por encima del cual un adjunto binario se rechaza directamente. Default 100 MB.

Estos dos umbrales deliberadamente no son por solicitud: el límite es una propiedad de lo que este workspace puede cargar —en particular, de lo que su remoto de Git va a aceptar en un push— y no una propiedad de las solicitudes individuales.