Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if (!request) {
console.warn('Tried to import query when no request active');
return;
}
let query;
try {
query = extractQueryStringFromUrl(request.url);
} catch (e) {
console.warn('Failed to parse url to import querystring');
return;
}
// Remove the search string (?foo=bar&...) from the Url
const url = request.url.replace(`?${query}`, '');
const parameters = [...request.parameters, ...deconstructQueryStringToParams(query)];
// Only update if url changed
if (url !== request.url) {
forceUpdateRequest(request, { url, parameters });
}
}
function migrateBody(request: Request): Request {
if (request.body && typeof request.body === 'object') {
return request;
}
// Second, convert all existing urlencoded bodies to new format
const contentType = getContentTypeFromHeaders(request.headers) || '';
const wasFormUrlEncoded = !!contentType.match(/^application\/x-www-form-urlencoded/i);
if (wasFormUrlEncoded) {
// Convert old-style form-encoded request bodies to new style
const body = typeof request.body === 'string' ? request.body : '';
request.body = newBodyFormUrlEncoded(deconstructQueryStringToParams(body, false));
} else if (!request.body && !contentType) {
request.body = {};
} else {
const body: string = typeof request.body === 'string' ? request.body : '';
request.body = newBodyRaw(body, contentType);
}
return request;
}
headers.push({ name: 'Content-Type', value: contentTypeHeaderValue });
}
// ~~~~~~~~~~~~~~~~~~~~~~~~~~ //
// 2. Make a new request body //
// ~~~~~~~~~~~~~~~~~~~~~~~~~~ //
let body;
const oldBody = Object.keys(savedBody).length === 0 ? request.body : savedBody;
if (mimeType === CONTENT_TYPE_FORM_URLENCODED) {
// Urlencoded
body = oldBody.params
? newBodyFormUrlEncoded(oldBody.params)
: newBodyFormUrlEncoded(deconstructQueryStringToParams(oldBody.text));
} else if (mimeType === CONTENT_TYPE_FORM_DATA) {
// Form Data
body = oldBody.params
? newBodyForm(oldBody.params)
: newBodyForm(deconstructQueryStringToParams(oldBody.text));
} else if (mimeType === CONTENT_TYPE_FILE) {
// File
body = newBodyFile('');
} else if (mimeType === CONTENT_TYPE_GRAPHQL) {
if (contentTypeHeader) {
contentTypeHeader.value = CONTENT_TYPE_JSON;
}
body = newBodyRaw(oldBody.text || '', CONTENT_TYPE_GRAPHQL);
} else if (typeof mimeType !== 'string') {
// No body
body = newBodyNone();