aboutsummaryrefslogtreecommitdiff
path: root/node_modules/needle/bin
diff options
context:
space:
mode:
authorruki <waruqi@gmail.com>2018-11-08 00:38:48 +0800
committerruki <waruqi@gmail.com>2018-11-07 21:53:09 +0800
commit26105034da4fcce7ac883c899d781f016559310d (patch)
treec459a5dc4e3aa0972d9919033ece511ce76dd129 /node_modules/needle/bin
parent2c77f00f1a7ecb6c8192f9c16d3b2001b254a107 (diff)
downloadxmake-docs-26105034da4fcce7ac883c899d781f016559310d.tar.gz
xmake-docs-26105034da4fcce7ac883c899d781f016559310d.zip
switch to vuepress
Diffstat (limited to 'node_modules/needle/bin')
-rwxr-xr-xnode_modules/needle/bin/needle40
1 files changed, 40 insertions, 0 deletions
diff --git a/node_modules/needle/bin/needle b/node_modules/needle/bin/needle
new file mode 100755
index 00000000..baaa79b0
--- /dev/null
+++ b/node_modules/needle/bin/needle
@@ -0,0 +1,40 @@
+#!/usr/bin/env node
+var needle = require('./../lib/needle');
+
+function exit(code, str) {
+ console.log(str) || process.exit(code);
+}
+
+function usage() {
+ var out = ['Usage: needle [get|head|post|put|delete] url [query]'];
+ out.push('Examples: \n needle get google.com\n needle post server.com/api foo=bar');
+ exit(1, out.join('\n'))
+}
+
+if (process.argv[2] == '-v' || process.argv[2] == '--version')
+ exit(0, needle.version);
+else if (process.argv[2] == null)
+ usage();
+
+var method = process.argv[2],
+ url = process.argv[3],
+ options = { compressed: true, parse_response: true, follow_max: 5, timeout: 10000 };
+
+if (!needle[method]) {
+ url = method;
+ method = 'get';
+}
+
+var callback = function(err, resp) {
+ if (err) return exit(1, "Error: " + err.message);
+
+ if (process.argv.indexOf('-i') != -1)
+ console.log(resp.headers) || console.log('');
+
+ console.log(resp.body.toString());
+};
+
+if (method == 'post' || method == 'put')
+ needle[method](url, process.argv[4], options, callback);
+else
+ needle[method](url, options, callback);