diff --git a/packages/bruno-lang/v1/src/body-tag.js b/packages/bruno-lang/v1/src/body-tag.js index a1ddbb1e5..f848e3afe 100644 --- a/packages/bruno-lang/v1/src/body-tag.js +++ b/packages/bruno-lang/v1/src/body-tag.js @@ -16,6 +16,9 @@ const bodyTextBegin = regex(/^body\s*\(\s*type\s*=\s*text\s*\)\s*\r?\n/); // body(type=xml) const bodyXmlBegin = regex(/^body\s*\(\s*type\s*=\s*xml\s*\)\s*\r?\n/); +// body(type=rawFile) +const bodyRawFile = regex(/^body\s*\(\s*type\s*=\s*raw-file\s*\)\s*\r?\n/); + const bodyEnd = regex(/^[\r?\n]+\/body\s*[\r?\n]*/); const bodyJsonTag = between(bodyJsonBegin)(bodyEnd)(everyCharUntil(bodyEnd)).map((bodyJson) => { @@ -62,6 +65,15 @@ const bodyXmlTag = between(bodyXmlBegin)(bodyEnd)(everyCharUntil(bodyEnd)).map(( }; }); + +const bodyRawFileTag = between(bodyRawFile)(bodyEnd)(everyCharUntil(bodyEnd)).map((bodyRawFile)) => { + return { + body: { + rawFile: bodyRawFile + } + } +} + /** * We have deprecated form-url-encoded type in body tag, it was a misspelling on my part * The new type is form-urlencoded @@ -118,6 +130,7 @@ module.exports = { bodyGraphqlVarsTag, bodyTextTag, bodyXmlTag, + bodyRawFileTag, bodyFormUrlEncodedTagDeprecated, bodyFormUrlEncodedTag, bodyMultipartFormTag diff --git a/packages/bruno-lang/v1/src/index.js b/packages/bruno-lang/v1/src/index.js index 07de838c1..f37a2c671 100644 --- a/packages/bruno-lang/v1/src/index.js +++ b/packages/bruno-lang/v1/src/index.js @@ -11,6 +11,7 @@ const { bodyGraphqlVarsTag, bodyTextTag, bodyXmlTag, + bodyRawFileTag, bodyFormUrlEncodedTagDeprecated, bodyFormUrlEncodedTag, bodyMultipartFormTag @@ -29,6 +30,7 @@ const bruToJson = (fileContents) => { bodyGraphqlVarsTag, bodyTextTag, bodyXmlTag, + bodyRawFileTag, bodyFormUrlEncodedTagDeprecated, bodyFormUrlEncodedTag, bodyMultipartFormTag, @@ -152,6 +154,14 @@ ${indentString(body.xml)} `; } + if (body && body.rawFile && body.rawFile.length) { + bru +=` +body(type=raw-file) +${indentString(body.rawFile)} +/body +`; + } + if (body && body.formUrlEncoded && body.formUrlEncoded.length) { bru += ` body(type=form-urlencoded)