export function curlify(recordDetail) { const headers = { ...recordDetail.reqHeader }; const acceptEncoding = headers['Accept-Encoding'] || headers['accept-encoding']; // escape reserve character in url const url = recordDetail.url.replace(/([\[\]])/g, '\\$1'); const curlified = ['curl', `'${url}'`]; if (recordDetail.method.toUpperCase() !== 'GET') { curlified.push('-X', recordDetail.method); } Object.keys(headers).forEach((key) => { curlified.push('-H', `'${key}: ${headers[key]}'`); }); if (recordDetail.reqBody) { curlified.push('-d', `'${recordDetail.reqBody}'`); } if (/deflate|gzip/.test(acceptEncoding)) { curlified.push('--compressed'); } return curlified.join(' '); }