Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@
"test": "push"
},
"dependencies": {
"commander": "2.6.0"
"commander": "2.6.0",
"split": "1.0.0"
},
"repository": {
"type": "git",
Expand Down
35 changes: 30 additions & 5 deletions push
Original file line number Diff line number Diff line change
@@ -1,13 +1,24 @@
#!/usr/bin/env node

var http = require('http')
var split = require('split')
var options = parseArgv(process.argv)


process.stdin.on('error', function(e) {
console.log("error: "+e)
})

if (options.hasOwnProperty('help')) {
help()
}
else if (options.hasOwnProperty('stream')) {
process.stdin.pipe(split())
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oooh, that looks like a nice trick.

.on('data', function (line) {
options.data = line
go()
})
}
else if (options.data) {
go()
}
Expand All @@ -24,17 +35,26 @@ else {

function go() {
var path = '/input/' + options.public_key +
'?private_key=' + options.private_key +
'&' + options.field_name + '=' + options.data;
log(path)
'?private_key=' + options.private_key
if (params.hasOwnProperty('json')) {
options.data = JSON.parse(options.data)
log(options.data)
for (var i = 0;i< Object.keys(options.data).length;i++) {
log(Object.keys(options.data)[i])
path = path + '&' + Object.keys(options.data)[i]
+ '=' + options.data[Object.keys(options.data)[i]]
}
} else path += '&' + options.field_name + '=' + options.data
log(options.url+path)
http.get({ host: options.url, path: path}, function(response) {
response.on('error', function() {
console.log('error!')
process.exit(1)
})
response.on('data', function() {
response.on('data', function(chunk) {
console.log(response.statusCode) // 200
process.exit(0)
console.log((chunk+"").replace(/<(?:.|\n)*?>/gm, ''))
if (!options.hasOwnProperty('stream')) process.exit(0)
})
})
}
Expand All @@ -46,8 +66,13 @@ function help() {
console.log(' --private_key <private_key> Example: lz6d0j7KxPH1VVryqMw5')
console.log(' --field_name <field_name> Example: temp')
console.log(' --data [data] This is optional because you can also pipe data to this command.')
console.log(' --stream Accept streaming piped data, i.e. dosomething.sh | ./push --stream')
console.log(' --json Accept json data, i.e. {first:1,second:2}')
console.log('')
console.log('Example: push --verbose --url data.sparkfun.com --public_key lzELagraWDiMMRra0V6Q --private_key XXXXXXXXXX --field_name temp')
console.log('')
}

// This is the standard function for parsing process.argv. It will return
// an object that where `--argumentName` is a property name and the
// proceding argument is the value. If there is no proceeding value then
Expand Down