Socket
Socket
Sign inDemoInstall

postman-code-generators

Package Overview
Dependencies
Maintainers
2
Versions
61
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

postman-code-generators - npm Package Compare versions

Comparing version 1.0.1 to 1.0.2

8

CHANGELOG.md

@@ -0,1 +1,9 @@

v1.0.2 (Oct 15, 2020)
* Fixed spaces around variables and arguments in Python codgen to comply with PEP 8.
* Added Content-Length header to generated HTTP snippets.
* Switched to multiline strings for Raw bodies in Go.
* Stopped manually encoding response bodes in `utf8` for Python-requests.
* Removed unnecessary semicolons at the end of statements in Ruby.
* Fixed wrong name of HTTP codegen in README
v1.0.1 (Jun 29, 2020)

@@ -2,0 +10,0 @@ - Fix for - [8674](https://github.com/postmanlabs/postman-app-support/issues/8674): Add URL sanitization for quotes in cURL, Java Unirest, NodeJS Native, Python http.client, and Swift.

20

codegens/golang/lib/index.js
var _ = require('./lodash'),
sanitize = require('./util').sanitize,
sanitizeMultiline = require('./util').sanitizeMultiline,
sanitizeOptions = require('./util').sanitizeOptions,

@@ -16,3 +17,3 @@ addFormParam = require('./util').addFormParam,

var bodySnippet;
bodySnippet = `payload := strings.NewReader("${sanitize(body.toString(), trim)}")`;
bodySnippet = `payload := strings.NewReader(\`${sanitizeMultiline(body.toString(), trim)}\`)`;
return bodySnippet;

@@ -82,4 +83,5 @@ }

bodySnippet += `${indent}_, errFile${index + 1} = io.Copy(part${index + 1}, file)\n`;
bodySnippet += `${indent}if errFile${index + 1} !=nil {
\n${indent.repeat(2)}fmt.Println(errFile${index + 1})\n${indent}}\n`;
bodySnippet += `${indent}if errFile${index + 1} != nil {` +
`\n${indent.repeat(2)}fmt.Println(errFile${index + 1})\n` +
`${indent.repeat(2)}return\n${indent}}\n`;
}

@@ -93,3 +95,4 @@ else {

bodySnippet += `${indent}err := writer.Close()\n${indent}if err != nil ` +
`{\n${indent.repeat(2)}fmt.Println(err)\n${indent}}\n`;
`{\n${indent.repeat(2)}fmt.Println(err)\n` +
`${indent.repeat(2)}return\n${indent}}\n`;
return bodySnippet;

@@ -263,3 +266,4 @@ }

}
codeSnippet += `${indent}if err != nil {\n${indent.repeat(2)}fmt.Println(err)\n${indent}}\n`;
codeSnippet += `${indent}if err != nil {\n${indent.repeat(2)}fmt.Println(err)\n`;
codeSnippet += `${indent.repeat(2)}return\n${indent}}\n`;
if (request.body && !request.headers.has('Content-Type')) {

@@ -287,3 +291,7 @@ if (request.body.mode === 'file') {

responseSnippet = `${indent}res, err := client.Do(req)\n`;
responseSnippet += `${indent}defer res.Body.Close()\n${indent}body, err := ioutil.ReadAll(res.Body)\n\n`;
responseSnippet += `${indent}if err != nil {\n${indent.repeat(2)}fmt.Println(err)\n`;
responseSnippet += `${indent.repeat(2)}return\n${indent}}\n`;
responseSnippet += `${indent}defer res.Body.Close()\n\n${indent}body, err := ioutil.ReadAll(res.Body)\n`;
responseSnippet += `${indent}if err != nil {\n${indent.repeat(2)}fmt.Println(err)\n`;
responseSnippet += `${indent.repeat(2)}return\n${indent}}\n`;
responseSnippet += `${indent}fmt.Println(string(body))\n}`;

@@ -290,0 +298,0 @@

@@ -20,2 +20,19 @@ module.exports = {

/**
* sanitizes input string by handling escape characters eg: converts '''' to '\'\''
* and trim input if required
*
* @param {String} inputString
* @param {Boolean} [trim] - indicates whether to trim string or not
* @returns {String}
*/
sanitizeMultiline: function (inputString, trim) {
if (typeof inputString !== 'string') {
return '';
}
inputString = inputString.replace(/`/g, '`+"`"+`');
return trim ? inputString.trim() : inputString;
},
/**
* sanitizes input options

@@ -22,0 +39,0 @@ *

@@ -30,3 +30,4 @@ let utils = require('./util');

function convert (request, options, callback) {
let snippet = '';
let snippet = '',
body;
options = utils.sanitizeOptions(options, getOptions());

@@ -50,2 +51,3 @@ utils.parseURLVariable(request);

}
// The following code handles multiple files in the same formdata param.

@@ -92,5 +94,11 @@ // It removes the form data params where the src property is an array of filepath strings

}
body = utils.getBody(request, options.trimRequestBody);
if (body && body.length !== 0 && !request.headers.has('Content-Length')) {
request.addHeader({
key: 'Content-Length',
value: body.length
});
}
snippet += `${utils.getHeaders(request)}\n`;
snippet += `\n${utils.getBody(request, options.trimRequestBody)}`;
snippet += `\n${body}`;
return callback(null, snippet);

@@ -97,0 +105,0 @@ }

@@ -206,3 +206,3 @@ let _ = require('./lodash'),

if (request.body && request.body.mode === 'formdata' && contentTypeIndex < 0) {
headers += `Content-Type: ${formDataHeader}`;
headers += `\nContent-Type: ${formDataHeader}`;
}

@@ -209,0 +209,0 @@ return headers;

# codegen-http
> Converts Postman-SDK Request into code snippet for cURL.
> Converts Postman-SDK Request into code snippet for RAW HTTP request.

@@ -5,0 +5,0 @@ #### Prerequisites

@@ -7,25 +7,25 @@ {

"GET /get?test=123&anotherone=232 HTTP/1.1\nHost: postman-echo.com\n\n\n",
"POST /post HTTP/1.1\nHost: postman-echo.com\nContent-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW\n\n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"pl\"\n\n'a'\n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"qu\"\n\n\"b\"\n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"hdjkljh\"\n\nc\n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"sa\"\n\nd\n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"Special\"\n\n!@#$%&*()^_+=`~ \n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"more\"\n\n,./';[]}{\":?><|\\\\\n----WebKitFormBoundary7MA4YWxkTrZu0gW\n",
"POST /post HTTP/1.1\nHost: postman-echo.com\nContent-Length: 586\nContent-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW\n\n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"pl\"\n\n'a'\n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"qu\"\n\n\"b\"\n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"hdjkljh\"\n\nc\n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"sa\"\n\nd\n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"Special\"\n\n!@#$%&*()^_+=`~ \n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"more\"\n\n,./';[]}{\":?><|\\\\\n----WebKitFormBoundary7MA4YWxkTrZu0gW\n",
"POST /post?a=!@$^*()_-`%26&b=,./';[]}{\":/?><|| HTTP/1.1\nHost: postman-echo.com\n\n\n",
"POST /post HTTP/1.1\nHost: postman-echo.com\nContent-Type: application/x-www-form-urlencoded\n\nDuis posuere augue vel cursus pharetra. In luctus a ex nec pretium. Praesent neque quam, tincidunt nec leo eget, rutrum vehicula magna.\nMaecenas consequat elementum elit, id semper sem tristique et. Integer pulvinar enim quis consectetur interdum volutpat.!@#$%^&*()+POL:},'';,[;[;\n\n\n",
"POST /post HTTP/1.1\nHost: postman-echo.com\nContent-Type: application/x-www-form-urlencoded\n\n1='a'&2=\"b\"&'3'=c&\"4\"=d&Special=!@#$%&*()^_=`~ &more=,./';[]}{\":?><|\\\\ ",
"POST /post HTTP/1.1\nHost: postman-echo.com\nContent-Type: application/json\n\n{\n \"json\": \"Test-Test!@#$%^&*()+POL:},'';,[;[;:>\"\n}",
"POST /post HTTP/1.1\nHost: postman-echo.com\nContent-Type: application/javascript\n\nvar val = 6;\nconsole.log(val);",
"POST /post HTTP/1.1\nHost: postman-echo.com\nContent-Type: text/xml\n\n<xml>\n\tTest Test!@#$%^&*()+POL:},'';,[;[;\n</xml>",
"POST /post HTTP/1.1\nHost: postman-echo.com\nContent-Type: text/html\n\n<html>\n Test Test !@#$%^&*()+POL:},'';,[;[;\n</html>",
"POST /post HTTP/1.1\nHost: postman-echo.com\nContent-Type: application/x-www-form-urlencoded\nContent-Length: 284\n\nDuis posuere augue vel cursus pharetra. In luctus a ex nec pretium. Praesent neque quam, tincidunt nec leo eget, rutrum vehicula magna.\nMaecenas consequat elementum elit, id semper sem tristique et. Integer pulvinar enim quis consectetur interdum volutpat.!@#$%^&*()+POL:},'';,[;[;\n\n\n",
"POST /post HTTP/1.1\nHost: postman-echo.com\nContent-Type: application/x-www-form-urlencoded\nContent-Length: 77\n\n1='a'&2=\"b\"&'3'=c&\"4\"=d&Special=!@#$%&*()^_=`~ &more=,./';[]}{\":?><|\\\\ ",
"POST /post HTTP/1.1\nHost: postman-echo.com\nContent-Type: application/json\nContent-Length: 52\n\n{\n \"json\": \"Test-Test!@#$%^&*()+POL:},'';,[;[;:>\"\n}",
"POST /post HTTP/1.1\nHost: postman-echo.com\nContent-Type: application/javascript\nContent-Length: 30\n\nvar val = 6;\nconsole.log(val);",
"POST /post HTTP/1.1\nHost: postman-echo.com\nContent-Type: text/xml\nContent-Length: 48\n\n<xml>\n\tTest Test!@#$%^&*()+POL:},'';,[;[;\n</xml>",
"POST /post HTTP/1.1\nHost: postman-echo.com\nContent-Type: text/html\nContent-Length: 52\n\n<html>\n Test Test !@#$%^&*()+POL:},'';,[;[;\n</html>",
"POST /post?a=''&b=\"\" HTTP/1.1\nHost: postman-echo.com\n\n\n",
"PUT /put HTTP/1.1\nHost: postman-echo.com\nContent-Type: text/plain\n\nEtiam mi lacus, cursus vitae felis et, blandit pellentesque neque. Vestibulum eget nisi a tortor commodo dignissim.\nQuisque ipsum ligula, faucibus a felis a, commodo elementum nisl. Mauris vulputate sapien et tincidunt viverra. Donec vitae velit nec metus.",
"PATCH /patch HTTP/1.1\nHost: postman-echo.com\nContent-Type: text/plain\n\nCurabitur auctor, elit nec pulvinar porttitor, ex augue condimentum enim, eget suscipit urna felis quis neque.\nSuspendisse sit amet luctus massa, nec venenatis mi. Suspendisse tincidunt massa at nibh efficitur fringilla. Nam quis congue mi. Etiam volutpat.",
"DELETE /delete HTTP/1.1\nHost: postman-echo.com\nContent-Type: text/plain\n\nDonec fermentum, nisi sed cursus eleifend, nulla tortor ultricies tellus, ut vehicula orci arcu ut velit. In volutpat egestas dapibus.\nMorbi condimentum vestibulum sapien. Etiam dignissim diam quis eros lobortis gravida vel lobortis est. Etiam gravida sed.",
"OPTIONS /post HTTP/1.1\nHost: postman-echo.com\nContent-Type: text/plain\n\nDuis posuere augue vel cursus pharetra. In luctus a ex nec pretium. Praesent neque quam, tincidunt nec leo eget, rutrum vehicula magna.\nMaecenas consequat elementum elit, id semper sem tristique et. Integer pulvinar enim quis consectetur interdum volutpat.",
"LINK /request HTTP/1.1\nHost: mockbin.org\nContent-Type: text/plain\n\nDuis posuere augue vel cursus pharetra. In luctus a ex nec pretium. Praesent neque quam, tincidunt nec leo eget, rutrum vehicula magna.\nMaecenas consequat elementum elit, id semper sem tristique et. Integer pulvinar enim quis consectetur interdum volutpat.",
"UNLINK /request HTTP/1.1\nHost: mockbin.org\nContent-Type: text/plain\n\nDuis posuere augue vel cursus pharetra. In luctus a ex nec pretium. Praesent neque quam, tincidunt nec leo eget, rutrum vehicula magna.\nMaecenas consequat elementum elit, id semper sem tristique et. Integer pulvinar enim quis consectetur interdum volutpat.",
"LOCK /request HTTP/1.1\nHost: mockbin.org\nContent-Type: text/plain\n\nDuis posuere augue vel cursus pharetra. In luctus a ex nec pretium. Praesent neque quam, tincidunt nec leo eget, rutrum vehicula magna.\nMaecenas consequat elementum elit, id semper sem tristique et. Integer pulvinar enim quis consectetur interdum volutpat.",
"PUT /put HTTP/1.1\nHost: postman-echo.com\nContent-Type: text/plain\nContent-Length: 256\n\nEtiam mi lacus, cursus vitae felis et, blandit pellentesque neque. Vestibulum eget nisi a tortor commodo dignissim.\nQuisque ipsum ligula, faucibus a felis a, commodo elementum nisl. Mauris vulputate sapien et tincidunt viverra. Donec vitae velit nec metus.",
"PATCH /patch HTTP/1.1\nHost: postman-echo.com\nContent-Type: text/plain\nContent-Length: 256\n\nCurabitur auctor, elit nec pulvinar porttitor, ex augue condimentum enim, eget suscipit urna felis quis neque.\nSuspendisse sit amet luctus massa, nec venenatis mi. Suspendisse tincidunt massa at nibh efficitur fringilla. Nam quis congue mi. Etiam volutpat.",
"DELETE /delete HTTP/1.1\nHost: postman-echo.com\nContent-Type: text/plain\nContent-Length: 256\n\nDonec fermentum, nisi sed cursus eleifend, nulla tortor ultricies tellus, ut vehicula orci arcu ut velit. In volutpat egestas dapibus.\nMorbi condimentum vestibulum sapien. Etiam dignissim diam quis eros lobortis gravida vel lobortis est. Etiam gravida sed.",
"OPTIONS /post HTTP/1.1\nHost: postman-echo.com\nContent-Type: text/plain\nContent-Length: 256\n\nDuis posuere augue vel cursus pharetra. In luctus a ex nec pretium. Praesent neque quam, tincidunt nec leo eget, rutrum vehicula magna.\nMaecenas consequat elementum elit, id semper sem tristique et. Integer pulvinar enim quis consectetur interdum volutpat.",
"LINK /request HTTP/1.1\nHost: mockbin.org\nContent-Type: text/plain\nContent-Length: 256\n\nDuis posuere augue vel cursus pharetra. In luctus a ex nec pretium. Praesent neque quam, tincidunt nec leo eget, rutrum vehicula magna.\nMaecenas consequat elementum elit, id semper sem tristique et. Integer pulvinar enim quis consectetur interdum volutpat.",
"UNLINK /request HTTP/1.1\nHost: mockbin.org\nContent-Type: text/plain\nContent-Length: 256\n\nDuis posuere augue vel cursus pharetra. In luctus a ex nec pretium. Praesent neque quam, tincidunt nec leo eget, rutrum vehicula magna.\nMaecenas consequat elementum elit, id semper sem tristique et. Integer pulvinar enim quis consectetur interdum volutpat.",
"LOCK /request HTTP/1.1\nHost: mockbin.org\nContent-Type: text/plain\nContent-Length: 256\n\nDuis posuere augue vel cursus pharetra. In luctus a ex nec pretium. Praesent neque quam, tincidunt nec leo eget, rutrum vehicula magna.\nMaecenas consequat elementum elit, id semper sem tristique et. Integer pulvinar enim quis consectetur interdum volutpat.",
"UNLOCK /request HTTP/1.1\nHost: mockbin.org\n\n\n",
"PROPFIND /request HTTP/1.1\nHost: mockbin.org\nContent-Type: text/plain\n\nDuis posuere augue vel cursus pharetra. In luctus a ex nec pretium. Praesent neque quam, tincidunt nec leo eget, rutrum vehicula magna.\nMaecenas consequat elementum elit, id semper sem tristique et. Integer pulvinar enim quis consectetur interdum volutpat.",
"VIEW /request HTTP/1.1\nHost: mockbin.org\nContent-Type: text/plain\n\nDuis posuere augue vel cursus pharetra. In luctus a ex nec pretium. Praesent neque quam, tincidunt nec leo eget, rutrum vehicula magna.\nMaecenas consequat elementum elit, id semper sem tristique et. Integer pulvinar enim quis consectetur interdum volutpat.",
"PROPFIND /request HTTP/1.1\nHost: mockbin.org\nContent-Type: text/plain\nContent-Length: 256\n\nDuis posuere augue vel cursus pharetra. In luctus a ex nec pretium. Praesent neque quam, tincidunt nec leo eget, rutrum vehicula magna.\nMaecenas consequat elementum elit, id semper sem tristique et. Integer pulvinar enim quis consectetur interdum volutpat.",
"VIEW /request HTTP/1.1\nHost: mockbin.org\nContent-Type: text/plain\nContent-Length: 256\n\nDuis posuere augue vel cursus pharetra. In luctus a ex nec pretium. Praesent neque quam, tincidunt nec leo eget, rutrum vehicula magna.\nMaecenas consequat elementum elit, id semper sem tristique et. Integer pulvinar enim quis consectetur interdum volutpat.",
"PURGE / HTTP/1.1\nHost: 9c76407d-5b8d-4b22-99fb-8c47a85d9848.mock.pstmn.io\n\n\n",
"COPY / HTTP/1.1\nHost: 9c76407d-5b8d-4b22-99fb-8c47a85d9848.mock.pstmn.io\n\n\n",
"POST /post HTTP/1.1\nHost: postman-echo.com\nContent-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW\n\n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"file\"; filename=\"file.txt\"\nContent-Type: text/plain\n\n(data)\n----WebKitFormBoundary7MA4YWxkTrZu0gW\n",
"POST /post HTTP/1.1\nHost: postman-echo.com\nContent-Type: text/plain\n\n\"<file contents here>\"",
"POST /post HTTP/1.1\nHost: postman-echo.com\nContent-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Length: 174\n\n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"file\"; filename=\"file.txt\"\nContent-Type: text/plain\n\n(data)\n----WebKitFormBoundary7MA4YWxkTrZu0gW\n",
"POST /post HTTP/1.1\nHost: postman-echo.com\nContent-Type: text/plain\nContent-Length: 22\n\n\"<file contents here>\"",
"GET / HTTP/1.1\nHost: localhost:5050\n\n\n",

@@ -35,7 +35,7 @@ "GET /knockknock HTTP/1.1\nHost: localhost:5050\n\n\n"

"trimmedResult": [
"POST /post HTTP/1.1\nHost: postman-echo.com\nContent-Type: application/x-www-form-urlencoded\n\nDuis posuere augue vel cursus pharetra. In luctus a ex nec pretium. Praesent neque quam, tincidunt nec leo eget, rutrum vehicula magna.\nMaecenas consequat elementum elit, id semper sem tristique et. Integer pulvinar enim quis consectetur interdum volutpat.!@#$%^&*()+POL:},'';,[;[;",
"POST /post HTTP/1.1\nHost: postman-echo.com\nContent-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW\n\n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"pl\"\n\n'a'\n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"qu\"\n\n\"b\"\n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"hdjkljh\"\n\nc\n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"sa\"\n\nd\n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"Special\"\n\n!@#$%&*()^_+=`~\n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"more\"\n\n,./';[]}{\":?><|\\\\\n----WebKitFormBoundary7MA4YWxkTrZu0gW",
"POST /post HTTP/1.1\nHost: postman-echo.com\nContent-Type: application/x-www-form-urlencoded\n\n1='a'&2=\"b\"&'3'=c&\"4\"=d&Special=!@#$%&*()^_=`~&more=,./';[]}{\":?><|\\\\"
"POST /post HTTP/1.1\nHost: postman-echo.com\nContent-Type: application/x-www-form-urlencoded\nContent-Length: 281\n\nDuis posuere augue vel cursus pharetra. In luctus a ex nec pretium. Praesent neque quam, tincidunt nec leo eget, rutrum vehicula magna.\nMaecenas consequat elementum elit, id semper sem tristique et. Integer pulvinar enim quis consectetur interdum volutpat.!@#$%^&*()+POL:},'';,[;[;",
"POST /post HTTP/1.1\nHost: postman-echo.com\nContent-Length: 581\nContent-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW\n\n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"pl\"\n\n'a'\n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"qu\"\n\n\"b\"\n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"hdjkljh\"\n\nc\n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"sa\"\n\nd\n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"Special\"\n\n!@#$%&*()^_+=`~\n----WebKitFormBoundary7MA4YWxkTrZu0gW\nContent-Disposition: form-data; name=\"more\"\n\n,./';[]}{\":?><|\\\\\n----WebKitFormBoundary7MA4YWxkTrZu0gW",
"POST /post HTTP/1.1\nHost: postman-echo.com\nContent-Type: application/x-www-form-urlencoded\nContent-Length: 69\n\n1='a'&2=\"b\"&'3'=c&\"4\"=d&Special=!@#$%&*()^_=`~&more=,./';[]}{\":?><|\\\\"
]
}

@@ -200,2 +200,28 @@ let testCollection = require('../resources/test-collection.json'),

});
it('should generate valid snippet with Content-Length header if request has body', function () {
var request = new Request({
'method': 'POST',
'body': {
'mode': 'raw',
'raw': 'aaaaa'
},
'url': {
'raw': 'https://example.com',
'protocol': 'https',
'host': [
'example',
'com'
]
}
});
convert(request, {}, function (error, snippet) {
if (error) {
expect.fail(null, null, error);
}
expect(snippet).to.be.a('string');
expect(snippet).to.include('Content-Length: 5');
});
});
});

@@ -202,0 +228,0 @@

@@ -14,5 +14,5 @@ {

"combined-stream": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
"integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"dev": true,

@@ -30,9 +30,9 @@ "requires": {

"form-data": {
"version": "2.3.2",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.2.tgz",
"integrity": "sha1-SXBJi+YEwgwAXU9cI67NIda0kJk=",
"version": "2.5.1",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz",
"integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==",
"dev": true,
"requires": {
"asynckit": "^0.4.0",
"combined-stream": "1.0.6",
"combined-stream": "^1.0.6",
"mime-types": "^2.1.12"

@@ -42,20 +42,20 @@ }

"mime-db": {
"version": "1.40.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz",
"integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==",
"version": "1.44.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz",
"integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==",
"dev": true
},
"mime-types": {
"version": "2.1.24",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz",
"integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==",
"version": "2.1.27",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz",
"integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==",
"dev": true,
"requires": {
"mime-db": "1.40.0"
"mime-db": "1.44.0"
}
},
"node-fetch": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.1.1.tgz",
"integrity": "sha1-NpynC4L1DIZJYQSmx3bSdPTkotQ=",
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
"dev": true

@@ -62,0 +62,0 @@ }

@@ -32,3 +32,3 @@ {

"form-data": "2.5.1",
"node-fetch": "2.1.1"
"node-fetch": "2.6.1"
},

@@ -35,0 +35,0 @@ "engines": {

@@ -114,3 +114,3 @@ var _ = require('./lodash'),

bodySnippet = varDeclare + ' data = JSON.stringify({\n';
bodySnippet += `${indentString}query: '${sanitize(query, trim)}',\n`;
bodySnippet += `${indentString}query: \`${query.trim()}\`,\n`;
bodySnippet += `${indentString}variables: ${JSON.stringify(graphqlVariables)}\n});\n`;

@@ -117,0 +117,0 @@ return bodySnippet;

@@ -104,3 +104,3 @@ const _ = require('./lodash'),

return 'JSON.stringify({\n' +
`${indentString}query: "${sanitize(query, trimBody)}",\n` +
`${indentString}query: \`${query.trim()}\`,\n` +
`${indentString}variables: ${JSON.stringify(graphqlVariables)}\n})`;

@@ -107,0 +107,0 @@ case 'formdata':

@@ -31,3 +31,3 @@ {

"devDependencies": {
"follow-redirects": "1.4.1"
"follow-redirects": "1.13.0"
},

@@ -34,0 +34,0 @@ "engines": {

@@ -105,6 +105,6 @@ var _ = require('./lodash'),

catch (error) {
return `body: ${JSON.stringify(requestbody[requestbody.mode])}\n`;
return `body: '${sanitize(requestbody[requestbody.mode])}'\n`;
}
}
return `body: ${JSON.stringify(requestbody[requestbody.mode])}\n`;
return `body: '${sanitize(requestbody[requestbody.mode])}'\n`;
// eslint-disable-next-line no-case-declarations

@@ -121,3 +121,3 @@ case 'graphql':

return 'body: JSON.stringify({\n' +
`${indentString.repeat(2)}query: '${sanitize(query, trimBody)}',\n` +
`${indentString.repeat(2)}query: \`${query.trim()}\`,\n` +
`${indentString.repeat(2)}variables: ${JSON.stringify(graphqlVariables)}\n` +

@@ -124,0 +124,0 @@ `${indentString}})`;

@@ -84,3 +84,3 @@ var _ = require('./lodash'),

return indentString + '.send(JSON.stringify({\n' +
`${indentString.repeat(2)}query: '${sanitize(query, trimBody)}',\n` +
`${indentString.repeat(2)}query: \`${query.trim()}\`,\n` +
`${indentString.repeat(2)}variables: ${JSON.stringify(graphqlVariables)}\n` +

@@ -87,0 +87,0 @@ `${indentString}}))\n`;

@@ -30,3 +30,3 @@ {

"devDependencies": {
"form-data": "2.3.2",
"form-data": "2.5.1",
"node-powershell": "4.0.0"

@@ -33,0 +33,0 @@ },

@@ -27,3 +27,3 @@ var _ = require('./lodash'),

}
return 'headers= {}\n';
return 'headers = {}\n';
}

@@ -170,7 +170,7 @@

snippet += request.body && request.body.mode && request.body.mode === 'formdata' ?
', data = payload, files = files' : ', data = payload';
snippet += !options.followRedirect ? ', allow_redirects = False' : '';
', data=payload, files=files' : ', data=payload';
snippet += !options.followRedirect ? ', allow_redirects=False' : '';
snippet += options.requestTimeout !== 0 ? `, timeout=${options.requestTimeout}` : '';
snippet += ')\n\n';
snippet += 'print(response.text.encode(\'utf8\'))\n';
snippet += 'print(response.text)\n';

@@ -177,0 +177,0 @@ callback(null, snippet);

@@ -23,7 +23,7 @@ var _ = require('../lodash'),

if (!_.isEmpty(request.body[request.body.mode])) {
requestBody += `payload = ${sanitize(request.body[request.body.mode],
requestBody += `payload=${sanitize(request.body[request.body.mode],
request.body.mode, bodyTrim)}\n`;
}
else {
requestBody = 'payload = {}\n';
requestBody = 'payload={}\n';
}

@@ -41,3 +41,3 @@ return requestBody;

}
requestBody += `payload = ${sanitize(JSON.stringify({
requestBody += `payload=${sanitize(JSON.stringify({
query: query,

@@ -55,6 +55,6 @@ variables: graphqlVariables

});
requestBody += `payload = '${bodyDataMap.join('&')}'\n`;
requestBody += `payload='${bodyDataMap.join('&')}'\n`;
}
else {
requestBody = 'payload = {}\n';
requestBody = 'payload={}\n';
}

@@ -72,17 +72,17 @@ return requestBody;

});
requestBody = `payload = {${bodyDataMap.join(',\n')}}\nfiles = [\n${bodyFileMap.join(',\n')}\n]\n`;
requestBody = `payload={${bodyDataMap.join(',\n')}}\nfiles=[\n${bodyFileMap.join(',\n')}\n]\n`;
}
else {
requestBody = 'payload = {}\nfiles = {}\n';
requestBody = 'payload={}\nfiles={}\n';
}
return requestBody;
case 'file':
// return `payload = {open('${request.body[request.body.mode].src}', 'rb').read()\n}`;
return 'payload = "<file contents here>"\n';
// return `payload={open('${request.body[request.body.mode].src}', 'rb').read()\n}`;
return 'payload="<file contents here>"\n';
default:
return 'payload = {}\n';
return 'payload={}\n';
}
}
return 'payload = {}\n';
return 'payload={}\n';
}
;

@@ -124,3 +124,3 @@ var _ = require('./lodash'),

if (sanitize(request.url.toString(), 'url').startsWith('https')) {
snippet += 'https = Net::HTTP.new(url.host, url.port);\n';
snippet += 'https = Net::HTTP.new(url.host, url.port)\n';
snippet += 'https.use_ssl = true\n\n';

@@ -127,0 +127,0 @@ if (options.requestTimeout) {

@@ -370,2 +370,3 @@ var _ = require('./lodash'),

codeSnippet += `${indent.repeat(2)}print(String(describing: error))\n`;
codeSnippet += `${indent.repeat(2)}semaphore.signal()\n`;
codeSnippet += `${indent.repeat(2)}return\n`;

@@ -372,0 +373,0 @@ codeSnippet += `${indent}}\n`;

{
"name": "postman-code-generators",
"version": "1.0.1",
"version": "1.0.2",
"description": "Generates code snippets for a postman collection",

@@ -31,3 +31,3 @@ "main": "index.js",

"postman-collection": "3.5.1",
"shelljs": "0.7.8"
"shelljs": "0.8.4"
},

@@ -37,8 +37,8 @@ "devDependencies": {

"chai": "4.1.2",
"chalk": "2.1.0",
"chalk": "2.4.2",
"dependency-check": "2.9.1",
"editorconfig": "0.14.2",
"eslint": "4.18.2",
"eslint-plugin-jsdoc": "3.1.3",
"eslint-plugin-lodash": "2.4.5",
"eslint-plugin-jsdoc": "3.15.1",
"eslint-plugin-lodash": "2.7.0",
"eslint-plugin-mocha": "4.11.0",

@@ -49,4 +49,4 @@ "eslint-plugin-security": "1.4.0",

"jsdoc": "3.6.3",
"lodash": "4.17.15",
"mocha": "5.0.3",
"mocha": "5.2.0",
"lodash": "4.17.20",
"newman": "4.5.7",

@@ -53,0 +53,0 @@ "nyc": "14.1.1",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc