Dưới đây là các bước khi gửi 1 request. Phần Pre-request sẽ là phần Postman sẽ xử lý trước khi thực hiện gửi request, và phần test script để xử lý response được trả về.




Vậy Pre-request có thể làm được việc gì? Nó xử lý có mỗi 1 phần thôi đó là tạo dữ liệu (biến) để truyền vào param trong request. 



var key = "cf7858cd-a863-4414-acac-a620bec950b8";
var keyId = "partner-tgdd";
var token = "Basic cGFydG5lci10Z2RkOnBhcnRuZXItdGdkZCNkZXYjMjAyMg==";

var user = ""
var pass = ""
console.log(user);
console.log(pass);
var reqData = request.data.toString().replace("{{user}}"user);
reqData = reqData.replace("{{pass}}"pass);
console.log(reqData);

var req = JSON.parse(reqData); 
var reqStr = JSON.stringify(req);
//console.log(req);

var a = CryptoJS.HmacSHA256(CryptoJS.enc.Utf8.parse(reqStr),CryptoJS.enc.Utf8.parse(key))
var b = CryptoJS.enc.Base64.stringify(a)
//console.log(b);

var time = Math.round(new Date().getTime() / 1000);
//console.log(time);
var signPattern = "keyId="+keyId+",digest="+b+",created="+time.toString()+",token="+token;

//console.log(signPattern);
var signedString = CryptoJS.HmacSHA256(CryptoJS.enc.Utf8.parse(signPattern),CryptoJS.enc.Utf8.parse(key))
var signedString2 = CryptoJS.enc.Base64.stringify(signedString);

//console.log(signedString2);

var Digest = b;
var CheckSum = "keyId="+keyId+",created="+time+",signature="+signedString2;
//console.log(Digest);
//console.log(CheckSum);

pm.variables.set("Local-Digest"Digest);
pm.variables.set("Local-CheckSum"CheckSum);

//var Header = require('postman-collection').Header
//pm.request.headers.add(new Header('Digest:' + Digest));
//pm.request.headers.add(new Header('CheckSum:' + CheckSum));
//console.log('request headers', pm.request.headers);