Scripts before y post
Automatiza firmas criptográficas, genera cabeceras dinámicas y encadena peticiones con JavaScript en sandbox seguro.
Automatización con JavaScript
CispalMocks te permite programar scripts en JavaScript que se ejecutan antes de enviar una petición (Before Script) y después de recibir la respuesta (Post Script).
API disponible en los scripts
Los scripts se ejecutan en un motor GraalJS ultrarrápido y disponen de objetos globales especializados:
Ejemplo: Before Script (Firma HMAC)
// Genera identificador único de trazabilidad
req.setHeader("X-Correlation-ID", uuid());
// Firma digitalmente el cuerpo con una clave secreta del entorno
var clave = env.get("claveSecretaFirma");
var firma = crypto.hmacSha256(clave, req.body());
req.setHeader("X-Signature", firma);
Ejemplo: Post Script (Encadenar llamadas)
// Captura el token o ID creado y guárdalo para siguientes llamadas
if (res.status === 201 || res.status === 200) {
var datos = res.json();
env.set("usuarioCreadoId", datos.id);
console.log("ID capturado correctamente:", datos.id);
}
Seguridad y sandbox aislado
Por seguridad arquitectónica, los scripts corren en una máquina virtual estrictamente aislada:
- No pueden acceder al disco, ni abrir conexiones socket ni ejecutar procesos del sistema operativo.
- Límite estricto de tiempo (5 s) y de memoria (256 MB) por ejecución para evitar bucles infinitos.
- Si un workspace procede de un repositorio no de confianza, CispalMocks pide confirmación explícita antes de ejecutar cualquier script.