카테고리 없음
[postman] pre-request 에서 base64 로 인코딩 후 요청하기
냐옴
2025. 1. 10. 10:20
Request > Script > Pre-request 에 함수를 등록하고 사용하기
const btoa = require('btoa');
// query string
function query_string_base64 (paramName) {
let oldValue = pm.request.url.query.get(paramName);
let newValue = btoa(oldValue);
pm.request.url.query.remove(paramName);
pm.request.url.query.add({key: paramName, value: newValue});
};
// path variable
function path_variable_base64 (...paramNames) {
paramNames.each(paramName => {
let oldValue = pm.request.url.variables.get(paramName);
let newValue = btoa(oldValue);
pm.request.url.variables.each((field) => {
if (field.key === paramName) {
field.value = newValue;
}
});
});
};
// formdata
function formdata_base64 (paramName) {
let formdata = pm.request.body.formdata;
let oldValue = formdata.get(paramName);
let newValue = btoa(oldValue);
formdata.remove(paramName);
formdata.add({key: paramName, value: newValue});
}
// body json
function bodyJson_base64 (paramName) {
let jsonBody = JSON.parse(pm.request.body.raw);
let oldValue = jsonBody[paramName];
let newValue = btoa(oldValue);
jsonBody[paramName] = newValue;
pm.request.body.raw = JSON.stringify(jsonBody);
}
// eval(`${pm.globals.get('my_utils')}`);
console.log('pm.request.url', pm.request.url.toString());
query_string_base64('email');
path_variable_base64('email', 'authCode');
// formdata_base64('formdata1');
bodyJson_base64('json_data1');
console.log('pm.request.url', pm.request.url.toString());
Globals 변수에 함수를 등록하고 사용하기
Globals 변수에 함수를 등록한다
Pre-request 에서 사용하기
// my_utils Globals 변수를 로드
eval(`${pm.globals.get('my_utils')}`);
// 로드된 함수 사용하기
query_string_base64('email');
path_variable_base64('mobileOrEmail', 'authCode');
// formdata_base64('formdata1');
// bodyJson_base64('json_data1');