-
Notifications
You must be signed in to change notification settings - Fork 0
Postman setup
Deepak Ramachandran edited this page Mar 19, 2022
·
1 revision
var crypto = require('crypto-js');
const uri = pm.request.url.getPath();
const method = pm.request.method.toUpperCase();
const nonce = (new Date).getTime();
var signingString = "uri=" + uri + "&method=" + method + "&nonce=" + nonce + pm.request.url.getQueryString();
if (method == 'POST') {
signingString += pm.request.body.toString();
}
console.log("signingString is: " + signingString);
var signature = crypto.enc.Base64.stringify(crypto.HmacSHA256(signingString, "testing123"));
console.log(signature.toString());
pm.request.headers.add({"key": "X-AUTH-SIGNATURE", "value": signature.toString()});
pm.request.headers.add({"key": "X-AUTH-NONCE", "value": nonce});
{
"info": {
"_postman_id": "9007727d-bbcd-4a8c-beca-011aa10b0a32",
"name": "Jamq Replica",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "Create Queue",
"event": [
{
"listen": "prerequest",
"script": {
"exec": [
""
],
"type": "text/javascript"
}
}
],
"request": {
"method": "POST",
"header": [],
"url": {
"raw": "localhost:5000/api/v1/queues/test-queue-1?queue_type=FIFO",
"host": [
"localhost"
],
"port": "5000",
"path": [
"api",
"v1",
"queues",
"test-queue-1"
],
"query": [
{
"key": "queue_type",
"value": "FIFO"
}
]
}
},
"response": []
},
{
"name": "Send Message",
"request": {
"method": "PUT",
"header": [],
"body": {
"mode": "raw",
"raw": "{\n \"message\": \"hello worsdxasdasdld!\",\n \"timestamp\": 1647708762\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "localhost:5000/api/v1/queues/test-queue-1?queue_type=FIFO",
"host": [
"localhost"
],
"port": "5000",
"path": [
"api",
"v1",
"queues",
"test-queue-1"
],
"query": [
{
"key": "queue_type",
"value": "FIFO"
}
]
}
},
"response": []
},
{
"name": "Consume Message",
"event": [
{
"listen": "prerequest",
"script": {
"exec": [
""
],
"type": "text/javascript"
}
}
],
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "localhost:5000/api/v1/queues/test-queue-1?queue_type=FIFO",
"host": [
"localhost"
],
"port": "5000",
"path": [
"api",
"v1",
"queues",
"test-queue-1"
],
"query": [
{
"key": "queue_type",
"value": "FIFO"
}
]
}
},
"response": []
},
{
"name": "Purge Queue (Delete messages)",
"event": [
{
"listen": "prerequest",
"script": {
"exec": [
""
],
"type": "text/javascript"
}
}
],
"request": {
"method": "PATCH",
"header": [],
"url": {
"raw": "localhost:5000/api/v1/queues/test-queue-1?queue_type=FIFO",
"host": [
"localhost"
],
"port": "5000",
"path": [
"api",
"v1",
"queues",
"test-queue-1"
],
"query": [
{
"key": "queue_type",
"value": "FIFO"
}
]
}
},
"response": []
}
],
"event": [
{
"listen": "prerequest",
"script": {
"type": "text/javascript",
"exec": [
"var crypto = require('crypto-js');",
"",
"const uri = pm.request.url.getPath();",
"const method = pm.request.method.toUpperCase();",
"const nonce = (new Date).getTime();",
"var signingString = \"uri=\" + uri + \"&method=\" + method + \"&nonce=\" + nonce + pm.request.url.getQueryString();",
"if (method == 'POST') {",
" signingString += pm.request.body.toString();",
"}",
"console.log(\"signingString is: \" + signingString);",
"var signature = crypto.enc.Base64.stringify(crypto.HmacSHA256(signingString, \"testing123\"));",
"console.log(signature.toString());",
"pm.request.headers.add({\"key\": \"X-AUTH-SIGNATURE\", \"value\": signature.toString()});",
"pm.request.headers.add({\"key\": \"X-AUTH-NONCE\", \"value\": nonce});"
]
}
},
{
"listen": "test",
"script": {
"type": "text/javascript",
"exec": [
""
]
}
}
]
}