From db62da374459c1d011bbc189228eed89f52d6843 Mon Sep 17 00:00:00 2001 From: Stuart Allen Date: Sun, 31 Jan 2016 18:01:30 -0500 Subject: [PATCH 1/3] tcl support --- src/targets/index.js | 3 ++- src/targets/tcl/index.js | 12 ++++++++++ src/targets/tcl/native.js | 46 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 src/targets/tcl/index.js create mode 100644 src/targets/tcl/native.js diff --git a/src/targets/index.js b/src/targets/index.js index 397f2b850..ba34de4a6 100644 --- a/src/targets/index.js +++ b/src/targets/index.js @@ -14,5 +14,6 @@ module.exports = { python: require('./python'), ruby: require('./ruby'), shell: require('./shell'), - swift: require('./swift') + swift: require('./swift'), + tcl: require('./tcl') } diff --git a/src/targets/tcl/index.js b/src/targets/tcl/index.js new file mode 100644 index 000000000..2ae8e838f --- /dev/null +++ b/src/targets/tcl/index.js @@ -0,0 +1,12 @@ +'use strict' + +module.exports = { + info: { + key: 'tcl', + title: 'tcl', + extname: '.tcl', + default: 'native' + }, + + native: require('./native') +} diff --git a/src/targets/tcl/native.js b/src/targets/tcl/native.js new file mode 100644 index 000000000..6b53b3238 --- /dev/null +++ b/src/targets/tcl/native.js @@ -0,0 +1,46 @@ +/** + * @description + * HTTP code snippet generator for TCL + * + * @author + * @lttlrck + * + */ + +'use strict' + +var util = require('util') +var CodeBuilder = require('../../helpers/code-builder') + +module.exports = function (source, options) { + var opts = util._extend({ + indent: ' ' + }, options) + + var code = new CodeBuilder(opts.indent) + + var settings = { + async: true, + crossDomain: true, + url: source.fullUrl, + method: source.method, + headers: source.allHeaders + } + + code.push("package require http"); + code.push("set url "+source.fullUrl); + code.push("set content "+source.postData.text); + code.push("set method "+source.method.toUpperCase()); + + code.push("set http [::http::geturl $url -method $method -type application/json -query $content]"); + code.push("set html [::http::data $http]"); + + return code.join("\n"); +} + +module.exports.info = { + key: 'tcl', + title: 'tcl', + link: 'http://www.tcl.tk/', + description: 'Perform a TCL HTTP request' +} From 54e726f512a8280993856ed4ea37752c54399597 Mon Sep 17 00:00:00 2001 From: Stuart Date: Mon, 15 Feb 2016 09:58:28 -0500 Subject: [PATCH 2/3] Add header support (for authorization) --- src/targets/protocolEngine/native.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/targets/protocolEngine/native.js b/src/targets/protocolEngine/native.js index b91f4601b..c9c92d4a8 100644 --- a/src/targets/protocolEngine/native.js +++ b/src/targets/protocolEngine/native.js @@ -27,7 +27,11 @@ module.exports = function (source, options) { headers: source.allHeaders } - code.push('@output("dataReq", { method:"'+source.method+'", path:"'+source.fullUrl+'", content: '+source.postData.text+', timeout: 3000 }, "lower");') + delete settings.headers['content-type']; + + var headers= JSON.stringify( settings.headers); + + code.push('@output("dataReq", { method:"'+source.method+'", path:"'+source.fullUrl+'", content: '+source.postData.text+', headers: '+headers+', timeout: 3000 }, "lower");') return code.join() } From 6b9f0ead6c19b7412b6e3eceb4ab700ce31b8cb6 Mon Sep 17 00:00:00 2001 From: Stuart Date: Wed, 17 Apr 2019 14:18:47 -0700 Subject: [PATCH 3/3] disable indentation, use short options, add -L --- src/targets/shell/curl.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/targets/shell/curl.js b/src/targets/shell/curl.js index d25f7252b..b62c189c3 100644 --- a/src/targets/shell/curl.js +++ b/src/targets/shell/curl.js @@ -16,13 +16,13 @@ var CodeBuilder = require('../../helpers/code-builder') module.exports = function (source, options) { var opts = util._extend({ - indent: ' ', - short: false + indent: false, + short: true }, options) var code = new CodeBuilder(opts.indent, opts.indent !== false ? ' \\\n' + opts.indent : ' ') - code.push('curl %s %s', opts.short ? '-X' : '--request', source.method) + code.push('curl -L %s %s', opts.short ? '-X' : '--request', source.method) .push(util.format('%s%s', opts.short ? '' : '--url ', helpers.quote(source.fullUrl))) if (source.httpVersion === 'HTTP/1.0') {