Postman Utils es un Pre-Request Scritp que contiene una siere de utilidades que postman no incorpora y otras que no nos permite directamente, el cual se logra mendiante un pequeño servidor web.
Para hacer el uso de las utilidades, debemos copiar el contenido del archivo postman-utils.js
, en la pestaña Pre-request Script de nuestra coleccion (Si tenemos mas de una coleccion debemos agreagarlo en cada una de ellas)
Para la utilizacion de algunas de las utilidades, se requiere ejecutar un servidor desarrollado en NestJS, para algunas funciones como la lectura de archivos, guardado entre otras funciones que postman no nos permite directamente, debemos ejecutar el servidor de la siguiente manera.
npm install
npm run start
El servidor se ejecutara en el puerto 8080
, puede ser cambiado desde el archivo main.ts
, pero tambien debemos cambiar dicho puerto en nuestro Pre-request Script.
Al terminar de agregar el script a nuestra coleccion, al realizar cualquer Request podemos hacer uso de las utilidades precargadas.
Esta utilidad nos permite inyectar en nuestro Request, el contenido del archivo que hemos asignado en la peticion meidante una sentencia (Solo funciona para peticiones tipo raw: JSON o SOAP), para implementarlo se debe serguir la siguiente sentencia:
{
"content": "{path_file | file_encoded}",
...
}
Al agregar esta sentencia utils.inyectedBase64FileRequiered
, busca mediante regex las sentencias que concidan con dicha cadena, por lo que nos permite agregar mas de un archivo con diferentes nombre o el mismo, ya que al obtener los archivos que estan adjuntos en el JSON, se envia una URL que puede ser el servidor incluido en el repositorio postman-utils-server
, o cualqueir servidor backend que reciba el path y retornarnos con la siguientre estructura del archivo codificado
{
"content": "VBORw0KGgoAAAANSUhEUgAAAfQ...",
"fileName": "content.txt"
}
Todos los archivos incluidos son consultados (Cualquier archivo que no exista o sel servidor no responda se asignara el valor null), al terminar de consultar los archivos se inyectara al request el contenido de la peticion, por loque no modificara le body escrito en la peticion.
Esta utilidad nos permite convertir cualquier cadena de texto contenida en un string JSON o XML, a base64 mediante el uso de un pipe, para utilizarla de la siguiente manera
{
"username": "{'admin' | base64_encode}",
"password": "{'adminPassword' | base64_encode}"
}
De esta manera la informacion de nuestro Request que cumpla con el formato de los pipe, sera codificada en base64
Codigo original de utils creador por erhhung en el foro postmanlabs postmanlabs/postman-app-support#3480 (comment)