diff --git a/bin/generate-test.mjs b/bin/generate-test.mjs index c62a8aa..3ecd68a 100755 --- a/bin/generate-test.mjs +++ b/bin/generate-test.mjs @@ -20,12 +20,19 @@ const restCliRequest2Hurl = async (request) => { let requestString = `${request.method} ${request.url}\n`; request.headers.forEach((value, key) => requestString += `${key}: ${value}\n`); - requestString += request.body + '\n'; + + const isCSV = request.headers.has("Content-Type") && + request.headers.get("Content-Type") === "text/csv"; + if (isCSV) { + requestString += "```\n" + request.body + "```\n\n"; + } else { + requestString += request.body + '\n'; + } try { const { response } = await request.request(); - const responseString = "HTTP 200\n" + response.getBody(); + const responseString = "HTTP 200\n" + (isCSV ? "" : response.getBody()); return requestString + responseString + "\n"; } catch (error) { @@ -70,17 +77,19 @@ usage(2); } +const instanceName = instancePath.replace(/\/$/, '').split('/').pop(); + // Get Response from examples.http file const parser = new RestParser(); try { await parser.readFile(`./${instancePath}/examples.http`); + parser.files[0].vars.variables.baseUrl = `https://${instanceName}.services.inist.fr`; } catch (error) { console.error(`No examples.http file found in ${instancePath}!\n`); console.error(error); process.exit(5); } -const instanceName = instancePath.replace(/\/$/, '').split('/').pop(); console.error(`Instance "${instanceName}" found.`); // Convert all requests