updated insomnia importer

This commit is contained in:
Peter C. 2023-10-05 09:45:08 +02:00
parent 1c8712b6eb
commit 57e0f0c0c4

View File

@ -41,6 +41,16 @@ const addSuffixToDuplicateName = (item, index, allItems) => {
return nameSuffix !== 0 ? `${item.name}_${nameSuffix}` : item.name; return nameSuffix !== 0 ? `${item.name}_${nameSuffix}` : item.name;
}; };
const regexVariable = new RegExp('{{.*?}}', 'g');
const normalizeVariables = (value) => {
const variables = value.match(regexVariable) || [];
each(variables, (variable) => {
value = value.replace(variable, variable.replace('_.', '').replaceAll(' ', ''));
});
return value;
};
const transformInsomniaRequestItem = (request, index, allRequests) => { const transformInsomniaRequestItem = (request, index, allRequests) => {
const name = addSuffixToDuplicateName(request, index, allRequests); const name = addSuffixToDuplicateName(request, index, allRequests);
@ -51,6 +61,11 @@ const transformInsomniaRequestItem = (request, index, allRequests) => {
request: { request: {
url: request.url, url: request.url,
method: request.method, method: request.method,
auth: {
mode: 'none',
basic: null,
bearer: null
},
headers: [], headers: [],
params: [], params: [],
body: { body: {
@ -84,7 +99,22 @@ const transformInsomniaRequestItem = (request, index, allRequests) => {
}); });
}); });
const mimeType = get(request, 'body.mimeType', ''); const authType = get(request, 'authentication.type', '');
if (authType === 'basic') {
brunoRequestItem.request.auth.mode = 'basic';
brunoRequestItem.request.auth.basic = {
username: normalizeVariables(get(request, 'authentication.username', '')),
password: normalizeVariables(get(request, 'authentication.password', ''))
};
} else if (authType === 'bearer') {
brunoRequestItem.request.auth.mode = 'bearer';
brunoRequestItem.request.auth.bearer = {
token: normalizeVariables(get(request, 'authentication.token', ''))
};
}
const mimeType = get(request, 'body.mimeType', '').split(';')[0];
if (mimeType === 'application/json') { if (mimeType === 'application/json') {
brunoRequestItem.request.body.mode = 'json'; brunoRequestItem.request.body.mode = 'json';