diff --git a/endpoints/texto.js b/endpoints/texto.js index 9dd3ea2..41bda4d 100644 --- a/endpoints/texto.js +++ b/endpoints/texto.js @@ -65,6 +65,7 @@ function init(req, res, Request) { job.on('complete', function() { /* Listener que dispara quando a requisição ao core finaliza */ + // console.log("JOB complete"); child.on('close', function(code, signal) { // res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.webm' }); db.update(request_object, 'Completed', function(result) { diff --git a/helpers/queue.js b/helpers/queue.js index 4ef5ca3..2106676 100644 --- a/helpers/queue.js +++ b/helpers/queue.js @@ -1,13 +1,13 @@ var exec = require('child_process').exec, child; -exports.exec_command_line = function (command_line, callback) { +exports.exec_command_line = function (command_line, done) { child = exec(command_line, function(err, stdout, stderr) { // console.log('Err: ' + err); // console.log('STDOUT: ' + stdout); // console.log('STDERR: ' + stderr); }); - //callback(); + //done(); // if (child === undefined) { // throw "Erro ao conectar com o core"; // } @@ -17,6 +17,18 @@ exports.exec_command_line = function (command_line, callback) { child.on('disconnect', function(code, signal) { throw "Disconectado do core"; }); + + // tentar com isso descomentado no lugar de chamar o done() direto + // child.on('close', function(code, signal) { + // done(); + // }); + done(); return child; }; + +// use to debug +exports.text = function (text, callback) { + console.log("Text inside queue_helper: " + text); + return text; +}; diff --git a/logsystem/errors.log b/logsystem/errors.log index 7993318..9fde06f 100644 --- a/logsystem/errors.log +++ b/logsystem/errors.log @@ -4,7 +4,7 @@ "1": 2, "2": 0, "3": 0, - "4": 1 + "4": 48 }, "nao-bloqueante": { "1": 0, diff --git a/logsystem/services.log b/logsystem/services.log index dc0f55c..afce66b 100644 --- a/logsystem/services.log +++ b/logsystem/services.log @@ -6,8 +6,8 @@ "saude": 0 }, "outros": { - "requisicoes": 133, - "traducoes": 129, + "requisicoes": 184, + "traducoes": 153, "saude": 0 } } diff --git a/node_modules/async/.travis.yml b/node_modules/async/.travis.yml index 6e5919d..6064ca0 100644 --- a/node_modules/async/.travis.yml +++ b/node_modules/async/.travis.yml @@ -1,3 +1,5 @@ language: node_js node_js: - "0.10" + - "0.12" + - "iojs" diff --git a/node_modules/async/README.md b/node_modules/async/README.md index 0bea531..6cfb922 100644 --- a/node_modules/async/README.md +++ b/node_modules/async/README.md @@ -5,8 +5,16 @@ Async is a utility module which provides straight-forward, powerful functions for working with asynchronous JavaScript. Although originally designed for -use with [Node.js](http://nodejs.org), it can also be used directly in the -browser. Also supports [component](https://github.com/component/component). +use with [Node.js](http://nodejs.org) and installable via `npm install async`, +it can also be used directly in the browser. + +Async is also installable via: + +- [bower](http://bower.io/): `bower install async` +- [component](https://github.com/component/component): `component install + caolan/async` +- [jam](http://jamjs.org/): `jam install async` +- [spm](http://spmjs.io/): `spm install async` Async provides around 20 functions that include the usual 'functional' suspects (`map`, `reduce`, `filter`, `each`…) as well as some common patterns @@ -182,7 +190,7 @@ __Arguments__ * `arr` - An array to iterate over. * `iterator(item, callback)` - A function to apply to each item in `arr`. The iterator is passed a `callback(err)` which must be called once it has - completed. If no error has occured, the `callback` should be run without + completed. If no error has occurred, the `callback` should be run without arguments or with an explicit `null` argument. * `callback(err)` - A callback which is called when all `iterator` functions have finished, or an error occurs. @@ -202,7 +210,7 @@ async.each(openFiles, saveFile, function(err){ ```js // assuming openFiles is an array of file names -async.each(openFiles, function( file, callback) { +async.each(openFiles, function(file, callback) { // Perform operation on file here. console.log('Processing file ' + file); @@ -256,7 +264,7 @@ __Arguments__ * `limit` - The maximum number of `iterator`s to run at any time. * `iterator(item, callback)` - A function to apply to each item in `arr`. The iterator is passed a `callback(err)` which must be called once it has - completed. If no error has occured, the callback should be run without + completed. If no error has occurred, the callback should be run without arguments or with an explicit `null` argument. * `callback(err)` - A callback which is called when all `iterator` functions have finished, or an error occurs. @@ -280,7 +288,7 @@ async.eachLimit(documents, 20, requestApi, function(err){ Produces a new array of values by mapping each value in `arr` through the `iterator` function. The `iterator` is called with an item from `arr` and a callback for when it has finished processing. Each of these callback takes 2 arguments: -an `error`, and the transformed item from `arr`. If `iterator` passes an error to this +an `error`, and the transformed item from `arr`. If `iterator` passes an error to his callback, the main `callback` (for the `map` function) is immediately called with the error. Note, that since this function applies the `iterator` to each item in parallel, @@ -536,14 +544,14 @@ By modifying the callback parameter the sorting order can be influenced: ```js //ascending order async.sortBy([1,9,3,5], function(x, callback){ - callback(err, x); + callback(null, x); }, function(err,result){ //result callback } ); //descending order async.sortBy([1,9,3,5], function(x, callback){ - callback(err, x*-1); //<- x*-1 instead of x, turns the order around + callback(null, x*-1); //<- x*-1 instead of x, turns the order around }, function(err,result){ //result callback } ); @@ -913,19 +921,19 @@ __Example__ ```js async.waterfall([ - function(callback){ + function(callback) { callback(null, 'one', 'two'); }, - function(arg1, arg2, callback){ + function(arg1, arg2, callback) { // arg1 now equals 'one' and arg2 now equals 'two' callback(null, 'three'); }, - function(arg1, callback){ + function(arg1, callback) { // arg1 now equals 'three' callback(null, 'done'); } ], function (err, result) { - // result now equals 'done' + // result now equals 'done' }); ``` @@ -972,7 +980,8 @@ add1mul3(4, function (err, result) { ### seq(fn1, fn2...) Version of the compose function that is more natural to read. -Each following function consumes the return value of the latter function. +Each function consumes the return value of the previous function. +It is the equivalent of [`compose`](#compose) with the arguments reversed. Each function is executed with the `this` binding of the composed function. @@ -989,28 +998,20 @@ __Example__ // This example uses `seq` function to avoid overnesting and error // handling clutter. app.get('/cats', function(request, response) { - function handleError(err, data, callback) { - if (err) { - console.error(err); - response.json({ status: 'error', message: err.message }); - } - else { - callback(data); - } - } var User = request.models.User; async.seq( _.bind(User.get, User), // 'User.get' has signature (id, callback(err, data)) - handleError, function(user, fn) { user.getCats(fn); // 'getCats' has signature (callback(err, data)) - }, - handleError, - function(cats) { + } + )(req.session.user_id, function (err, cats) { + if (err) { + console.error(err); + response.json({ status: 'error', message: err.message }); + } else { response.json({ status: 'ok', message: 'Cats found', data: cats }); } - )(req.session.user_id); - } + }); }); ``` @@ -1092,7 +1093,7 @@ methods: * `paused` - a boolean for determining whether the queue is in a paused state * `pause()` - a function that pauses the processing of tasks until `resume()` is called. * `resume()` - a function that resumes the processing of queued tasks when the queue is paused. -* `kill()` - a function that empties remaining tasks from the queue forcing it to go idle. +* `kill()` - a function that removes the `drain` callback and empties remaining tasks from the queue forcing it to go idle. __Example__ @@ -1122,7 +1123,7 @@ q.push({name: 'bar'}, function (err) { // add some items to the queue (batch-wise) q.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function (err) { - console.log('finished processing bar'); + console.log('finished processing item'); }); // add some items to the front of the queue @@ -1349,7 +1350,7 @@ new tasks much easier (and the code more readable). Attempts to get a successful response from `task` no more than `times` times before returning an error. If the task is successful, the `callback` will be passed the result -of the successfull task. If all attemps fail, the callback will be passed the error and +of the successful task. If all attempts fail, the callback will be passed the error and result (if any) of the final attempt. __Arguments__ @@ -1474,7 +1475,7 @@ three --------------------------------------- -### nextTick(callback) +### nextTick(callback), setImmediate(callback) Calls `callback` on a later loop around the event loop. In Node.js this just calls `process.nextTick`; in the browser it falls back to `setImmediate(callback)` diff --git a/node_modules/async/component.json b/node_modules/async/component.json index bbb0115..5003a7c 100644 --- a/node_modules/async/component.json +++ b/node_modules/async/component.json @@ -1,11 +1,16 @@ { "name": "async", - "repo": "caolan/async", "description": "Higher-order functions and common patterns for asynchronous code", - "version": "0.1.23", - "keywords": [], - "dependencies": {}, - "development": {}, - "main": "lib/async.js", - "scripts": [ "lib/async.js" ] -} + "version": "0.9.2", + "keywords": [ + "async", + "callback", + "utility", + "module" + ], + "license": "MIT", + "repository": "caolan/async", + "scripts": [ + "lib/async.js" + ] +} \ No newline at end of file diff --git a/node_modules/async/lib/async.js b/node_modules/async/lib/async.js old mode 100755 new mode 100644 index 01e8afc..394c41c --- a/node_modules/async/lib/async.js +++ b/node_modules/async/lib/async.js @@ -42,9 +42,6 @@ }; var _each = function (arr, iterator) { - if (arr.forEach) { - return arr.forEach(iterator); - } for (var i = 0; i < arr.length; i += 1) { iterator(arr[i], i, arr); } @@ -821,23 +818,26 @@ pause: function () { if (q.paused === true) { return; } q.paused = true; - q.process(); }, resume: function () { if (q.paused === false) { return; } q.paused = false; - q.process(); + // Need to call q.process once per concurrent + // worker to preserve full concurrency after pause + for (var w = 1; w <= q.concurrency; w++) { + async.setImmediate(q.process); + } } }; return q; }; - + async.priorityQueue = function (worker, concurrency) { - + function _compareTasks(a, b){ return a.priority - b.priority; }; - + function _binarySearch(sequence, item, compare) { var beg = -1, end = sequence.length - 1; @@ -851,7 +851,7 @@ } return beg; } - + function _insert(q, data, priority, callback) { if (!q.started){ q.started = true; @@ -873,7 +873,7 @@ priority: priority, callback: typeof callback === 'function' ? callback : null }; - + q.tasks.splice(_binarySearch(q.tasks, item, _compareTasks) + 1, 0, item); if (q.saturated && q.tasks.length === q.concurrency) { @@ -882,15 +882,15 @@ async.setImmediate(q.process); }); } - + // Start with a normal queue var q = async.queue(worker, concurrency); - + // Override push to accept second parameter representing priority q.push = function (data, priority, callback) { _insert(q, data, priority, callback); }; - + // Remove unshift function delete q.unshift; diff --git a/node_modules/async/package.json b/node_modules/async/package.json index e8f9ed8..98c2e0b 100644 --- a/node_modules/async/package.json +++ b/node_modules/async/package.json @@ -1,28 +1,30 @@ { "name": "async", "description": "Higher-order functions and common patterns for asynchronous code", - "main": "./lib/async", + "main": "lib/async.js", "author": { "name": "Caolan McMahon" }, - "version": "0.9.0", + "version": "0.9.2", + "keywords": [ + "async", + "callback", + "utility", + "module" + ], "repository": { "type": "git", - "url": "https://github.com/caolan/async.git" + "url": "git+https://github.com/caolan/async.git" }, "bugs": { "url": "https://github.com/caolan/async/issues" }, - "licenses": [ - { - "type": "MIT", - "url": "https://github.com/caolan/async/raw/master/LICENSE" - } - ], + "license": "MIT", "devDependencies": { "nodeunit": ">0.0.0", "uglify-js": "1.2.x", - "nodelint": ">0.0.0" + "nodelint": ">0.0.0", + "lodash": ">=2.4.1" }, "jam": { "main": "lib/async.js", @@ -30,31 +32,53 @@ "lib/async.js", "README.md", "LICENSE" + ], + "categories": [ + "Utilities" ] }, "scripts": { "test": "nodeunit test/test-async.js" }, - "homepage": "https://github.com/caolan/async", - "_id": "async@0.9.0", - "dist": { - "shasum": "ac3613b1da9bed1b47510bb4651b8931e47146c7", - "tarball": "http://registry.npmjs.org/async/-/async-0.9.0.tgz" + "spm": { + "main": "lib/async.js" }, + "volo": { + "main": "lib/async.js", + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "tests" + ] + }, + "gitHead": "de3a16091d5125384eff4a54deb3998b13c3814c", + "homepage": "https://github.com/caolan/async#readme", + "_id": "async@0.9.2", + "_shasum": "aea74d5e61c1f899613bf64bda66d4c78f2fd17d", "_from": "async@>=0.9.0 <0.10.0", - "_npmVersion": "1.4.3", + "_npmVersion": "2.9.0", + "_nodeVersion": "2.0.1", "_npmUser": { - "name": "caolan", - "email": "caolan.mcmahon@gmail.com" + "name": "beaugunderson", + "email": "beau@beaugunderson.com" }, "maintainers": [ { "name": "caolan", - "email": "caolan@caolanmcmahon.com" + "email": "caolan.mcmahon@gmail.com" + }, + { + "name": "beaugunderson", + "email": "beau@beaugunderson.com" } ], + "dist": { + "shasum": "aea74d5e61c1f899613bf64bda66d4c78f2fd17d", + "tarball": "http://registry.npmjs.org/async/-/async-0.9.2.tgz" + }, "directories": {}, - "_shasum": "ac3613b1da9bed1b47510bb4651b8931e47146c7", - "_resolved": "https://registry.npmjs.org/async/-/async-0.9.0.tgz", + "_resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", "readme": "ERROR: No README data found!" } diff --git a/node_modules/express/node_modules/commander/node_modules/keypress/package.json b/node_modules/express/node_modules/commander/node_modules/keypress/package.json index 4c2d897..5e125aa 100644 --- a/node_modules/express/node_modules/commander/node_modules/keypress/package.json +++ b/node_modules/express/node_modules/commander/node_modules/keypress/package.json @@ -36,5 +36,9 @@ "directories": {}, "_shasum": "4a3188d4291b66b4f65edb99f806aa9ae293592a", "_resolved": "https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz", - "_from": "keypress@>=0.1.0 <0.2.0" + "_from": "keypress@>=0.1.0 <0.2.0", + "bugs": { + "url": "https://github.com/TooTallNate/keypress/issues" + }, + "homepage": "https://github.com/TooTallNate/keypress" } diff --git a/node_modules/express/node_modules/connect/node_modules/bytes/package.json b/node_modules/express/node_modules/connect/node_modules/bytes/package.json index 411a162..639f883 100644 --- a/node_modules/express/node_modules/connect/node_modules/bytes/package.json +++ b/node_modules/express/node_modules/connect/node_modules/bytes/package.json @@ -45,5 +45,6 @@ ], "directories": {}, "_shasum": "78e2e0e28c7f9c7b988ea8aee0db4d5fa9941935", - "_resolved": "https://registry.npmjs.org/bytes/-/bytes-0.3.0.tgz" + "_resolved": "https://registry.npmjs.org/bytes/-/bytes-0.3.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/express/node_modules/connect/node_modules/compression/node_modules/bytes/package.json b/node_modules/express/node_modules/connect/node_modules/compression/node_modules/bytes/package.json index db0526b..d1834a6 100644 --- a/node_modules/express/node_modules/connect/node_modules/compression/node_modules/bytes/package.json +++ b/node_modules/express/node_modules/connect/node_modules/compression/node_modules/bytes/package.json @@ -38,5 +38,6 @@ "directories": {}, "_shasum": "555b08abcb063f8975905302523e4cd4ffdfdf31", "_resolved": "https://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz", + "readme": "ERROR: No README data found!", "scripts": {} } diff --git a/node_modules/express/node_modules/connect/node_modules/compression/node_modules/negotiator/package.json b/node_modules/express/node_modules/connect/node_modules/compression/node_modules/negotiator/package.json index 1125fbf..2e3da57 100644 --- a/node_modules/express/node_modules/connect/node_modules/compression/node_modules/negotiator/package.json +++ b/node_modules/express/node_modules/connect/node_modules/compression/node_modules/negotiator/package.json @@ -53,5 +53,10 @@ "directories": {}, "_shasum": "706d692efeddf574d57ea9fb1ab89a4fa7ee8f60", "_resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz", - "_from": "negotiator@0.3.0" + "_from": "negotiator@0.3.0", + "bugs": { + "url": "https://github.com/federomero/negotiator/issues" + }, + "readme": "ERROR: No README data found!", + "homepage": "https://github.com/federomero/negotiator" } diff --git a/node_modules/express/node_modules/connect/node_modules/cookie-parser/node_modules/cookie/package.json b/node_modules/express/node_modules/connect/node_modules/cookie-parser/node_modules/cookie/package.json index 36dd5dc..80531d5 100644 --- a/node_modules/express/node_modules/connect/node_modules/cookie-parser/node_modules/cookie/package.json +++ b/node_modules/express/node_modules/connect/node_modules/cookie-parser/node_modules/cookie/package.json @@ -45,5 +45,10 @@ ], "directories": {}, "_shasum": "90eb469ddce905c866de687efc43131d8801f9d0", - "_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz" + "_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz", + "bugs": { + "url": "https://github.com/shtylman/node-cookie/issues" + }, + "readme": "ERROR: No README data found!", + "homepage": "https://github.com/shtylman/node-cookie" } diff --git a/node_modules/express/node_modules/connect/node_modules/csurf/node_modules/scmp/package.json b/node_modules/express/node_modules/connect/node_modules/csurf/node_modules/scmp/package.json index 8bdb710..0df2ca0 100644 --- a/node_modules/express/node_modules/connect/node_modules/csurf/node_modules/scmp/package.json +++ b/node_modules/express/node_modules/connect/node_modules/csurf/node_modules/scmp/package.json @@ -50,5 +50,6 @@ ], "directories": {}, "_shasum": "3648df2d7294641e7f78673ffc29681d9bad9073", - "_resolved": "https://registry.npmjs.org/scmp/-/scmp-0.0.3.tgz" + "_resolved": "https://registry.npmjs.org/scmp/-/scmp-0.0.3.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/express/node_modules/connect/node_modules/express-session/node_modules/cookie/package.json b/node_modules/express/node_modules/connect/node_modules/express-session/node_modules/cookie/package.json index 36dd5dc..80531d5 100644 --- a/node_modules/express/node_modules/connect/node_modules/express-session/node_modules/cookie/package.json +++ b/node_modules/express/node_modules/connect/node_modules/express-session/node_modules/cookie/package.json @@ -45,5 +45,10 @@ ], "directories": {}, "_shasum": "90eb469ddce905c866de687efc43131d8801f9d0", - "_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz" + "_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz", + "bugs": { + "url": "https://github.com/shtylman/node-cookie/issues" + }, + "readme": "ERROR: No README data found!", + "homepage": "https://github.com/shtylman/node-cookie" } diff --git a/node_modules/express/node_modules/connect/node_modules/express-session/node_modules/debug/package.json b/node_modules/express/node_modules/connect/node_modules/express-session/node_modules/debug/package.json index 882a300..7c2fe98 100644 --- a/node_modules/express/node_modules/connect/node_modules/express-session/node_modules/debug/package.json +++ b/node_modules/express/node_modules/connect/node_modules/express-session/node_modules/debug/package.json @@ -59,5 +59,6 @@ "directories": {}, "_shasum": "06e1ea8082c2cb14e39806e22e2f6f757f92af39", "_resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", - "readme": "ERROR: No README data found!" + "readme": "ERROR: No README data found!", + "scripts": {} } diff --git a/node_modules/express/node_modules/connect/node_modules/express-session/node_modules/utils-merge/package.json b/node_modules/express/node_modules/connect/node_modules/express-session/node_modules/utils-merge/package.json index 7c115b0..305d5e1 100644 --- a/node_modules/express/node_modules/connect/node_modules/express-session/node_modules/utils-merge/package.json +++ b/node_modules/express/node_modules/connect/node_modules/express-session/node_modules/utils-merge/package.json @@ -30,7 +30,7 @@ "chai": "1.x.x" }, "scripts": { - "test": "node_modules/.bin/mocha --reporter spec --require test/bootstrap/node test/*.test.js" + "test": "mocha --reporter spec --require test/bootstrap/node test/*.test.js" }, "engines": { "node": ">= 0.4.0" @@ -54,5 +54,7 @@ ], "directories": {}, "_shasum": "0294fb922bb9375153541c4f7096231f287c8af8", - "_resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz" + "_resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", + "readme": "ERROR: No README data found!", + "homepage": "https://github.com/jaredhanson/utils-merge" } diff --git a/node_modules/express/node_modules/connect/node_modules/morgan/node_modules/bytes/package.json b/node_modules/express/node_modules/connect/node_modules/morgan/node_modules/bytes/package.json index 26033d7..f1442f7 100644 --- a/node_modules/express/node_modules/connect/node_modules/morgan/node_modules/bytes/package.json +++ b/node_modules/express/node_modules/connect/node_modules/morgan/node_modules/bytes/package.json @@ -37,5 +37,6 @@ ], "directories": {}, "_shasum": "555b08abcb063f8975905302523e4cd4ffdfdf31", - "_resolved": "https://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz" + "_resolved": "https://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/stream-counter/package.json b/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/stream-counter/package.json index 41ded92..37d5d01 100644 --- a/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/stream-counter/package.json +++ b/node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/stream-counter/package.json @@ -43,5 +43,7 @@ ], "directories": {}, "_shasum": "ded266556319c8b0e222812b9cf3b26fa7d947de", - "_resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz" + "_resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz", + "readme": "ERROR: No README data found!", + "homepage": "https://github.com/superjoe30/node-stream-counter" } diff --git a/node_modules/express/node_modules/connect/node_modules/pause/package.json b/node_modules/express/node_modules/connect/node_modules/pause/package.json index 9ede822..0095fe1 100644 --- a/node_modules/express/node_modules/connect/node_modules/pause/package.json +++ b/node_modules/express/node_modules/connect/node_modules/pause/package.json @@ -27,6 +27,5 @@ "directories": {}, "_shasum": "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d", "_resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", - "_from": "pause@0.0.1", - "readme": "ERROR: No README data found!" + "_from": "pause@0.0.1" } diff --git a/node_modules/express/node_modules/connect/node_modules/qs/package.json b/node_modules/express/node_modules/connect/node_modules/qs/package.json index 6e5849f..3568353 100644 --- a/node_modules/express/node_modules/connect/node_modules/qs/package.json +++ b/node_modules/express/node_modules/connect/node_modules/qs/package.json @@ -49,5 +49,7 @@ ], "directories": {}, "_shasum": "6e015098ff51968b8a3c819001d5f2c89bc4b107", - "_resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz" + "_resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz", + "readme": "ERROR: No README data found!", + "homepage": "https://github.com/visionmedia/node-querystring" } diff --git a/node_modules/express/node_modules/connect/node_modules/raw-body/package.json b/node_modules/express/node_modules/connect/node_modules/raw-body/package.json index 749cf5f..17ace9f 100644 --- a/node_modules/express/node_modules/connect/node_modules/raw-body/package.json +++ b/node_modules/express/node_modules/connect/node_modules/raw-body/package.json @@ -53,5 +53,6 @@ ], "directories": {}, "_shasum": "f0b5624388d031f63da07f870c86cb9ccadcb67d", - "_resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.4.tgz" + "_resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.4.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/express/node_modules/connect/node_modules/serve-index/node_modules/negotiator/package.json b/node_modules/express/node_modules/connect/node_modules/serve-index/node_modules/negotiator/package.json index c1655d5..a9ee9b9 100644 --- a/node_modules/express/node_modules/connect/node_modules/serve-index/node_modules/negotiator/package.json +++ b/node_modules/express/node_modules/connect/node_modules/serve-index/node_modules/negotiator/package.json @@ -62,5 +62,6 @@ ], "directories": {}, "_shasum": "8c43ea7e4c40ddfe40c3c0234c4ef77500b8fd37", - "_resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.4.2.tgz" + "_resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.4.2.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/express/node_modules/connect/node_modules/serve-static/node_modules/parseurl/package.json b/node_modules/express/node_modules/connect/node_modules/serve-static/node_modules/parseurl/package.json index 4c6e346..630a8d0 100644 --- a/node_modules/express/node_modules/connect/node_modules/serve-static/node_modules/parseurl/package.json +++ b/node_modules/express/node_modules/connect/node_modules/serve-static/node_modules/parseurl/package.json @@ -36,5 +36,6 @@ ], "directories": {}, "_shasum": "2e57dce6efdd37c3518701030944c22bf388b7b4", - "_resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.0.1.tgz" + "_resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.0.1.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/express/node_modules/connect/node_modules/serve-static/package.json b/node_modules/express/node_modules/connect/node_modules/serve-static/package.json index 2bd491d..290679f 100644 --- a/node_modules/express/node_modules/connect/node_modules/serve-static/package.json +++ b/node_modules/express/node_modules/connect/node_modules/serve-static/package.json @@ -66,5 +66,6 @@ ], "directories": {}, "_shasum": "454dfa05bb3ddd4e701a8915b83a278aa91c5643", - "_resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.1.0.tgz" + "_resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.1.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/express/node_modules/connect/node_modules/setimmediate/package.json b/node_modules/express/node_modules/connect/node_modules/setimmediate/package.json index 2faa26c..4d788d8 100644 --- a/node_modules/express/node_modules/connect/node_modules/setimmediate/package.json +++ b/node_modules/express/node_modules/connect/node_modules/setimmediate/package.json @@ -97,5 +97,7 @@ "directories": {}, "_shasum": "a9ca56ccbd6a4c3334855f060abcdece5c42ebb7", "_resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.1.tgz", - "_from": "setimmediate@1.0.1" + "_from": "setimmediate@1.0.1", + "readme": "ERROR: No README data found!", + "homepage": "https://github.com/NobleJS/setImmediate" } diff --git a/node_modules/express/node_modules/cookie-signature/package.json b/node_modules/express/node_modules/cookie-signature/package.json index d732ed3..e2d1968 100644 --- a/node_modules/express/node_modules/cookie-signature/package.json +++ b/node_modules/express/node_modules/cookie-signature/package.json @@ -44,5 +44,6 @@ ], "directories": {}, "_shasum": "91cd997cc51fb641595738c69cda020328f50ff9", - "_resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz" + "_resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/express/node_modules/cookie/package.json b/node_modules/express/node_modules/cookie/package.json index 80aecf4..7dbb395 100644 --- a/node_modules/express/node_modules/cookie/package.json +++ b/node_modules/express/node_modules/cookie/package.json @@ -49,5 +49,6 @@ ], "directories": {}, "_shasum": "72fec3d24e48a3432073d90c12642005061004b1", - "_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz" + "_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/express/node_modules/debug/package.json b/node_modules/express/node_modules/debug/package.json index d88db29..3fc1b12 100644 --- a/node_modules/express/node_modules/debug/package.json +++ b/node_modules/express/node_modules/debug/package.json @@ -56,5 +56,6 @@ ], "directories": {}, "_shasum": "20ff4d26f5e422cb68a1bacbbb61039ad8c1c130", - "_resolved": "https://registry.npmjs.org/debug/-/debug-0.8.1.tgz" + "_resolved": "https://registry.npmjs.org/debug/-/debug-0.8.1.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/express/node_modules/fresh/package.json b/node_modules/express/node_modules/fresh/package.json index c7214e3..bc9631a 100644 --- a/node_modules/express/node_modules/fresh/package.json +++ b/node_modules/express/node_modules/fresh/package.json @@ -46,5 +46,6 @@ ], "directories": {}, "_shasum": "9731dcf5678c7faeb44fb903c4f72df55187fa77", - "_resolved": "https://registry.npmjs.org/fresh/-/fresh-0.2.2.tgz" + "_resolved": "https://registry.npmjs.org/fresh/-/fresh-0.2.2.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/express/node_modules/merge-descriptors/package.json b/node_modules/express/node_modules/merge-descriptors/package.json index 76673a2..b1b83d4 100644 --- a/node_modules/express/node_modules/merge-descriptors/package.json +++ b/node_modules/express/node_modules/merge-descriptors/package.json @@ -38,5 +38,6 @@ ], "directories": {}, "_shasum": "c36a52a781437513c57275f39dd9d317514ac8c7", - "_resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.2.tgz" + "_resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.2.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/express/node_modules/mkdirp/package.json b/node_modules/express/node_modules/mkdirp/package.json index 787567a..7fd9909 100644 --- a/node_modules/express/node_modules/mkdirp/package.json +++ b/node_modules/express/node_modules/mkdirp/package.json @@ -49,5 +49,6 @@ ], "directories": {}, "_shasum": "291ac2a2d43a19c478662577b5be846fe83b5923", - "_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.4.0.tgz" + "_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.4.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/express/node_modules/range-parser/package.json b/node_modules/express/node_modules/range-parser/package.json index 0bd4072..568c0f1 100644 --- a/node_modules/express/node_modules/range-parser/package.json +++ b/node_modules/express/node_modules/range-parser/package.json @@ -45,5 +45,7 @@ ], "directories": {}, "_shasum": "a4b264cfe0be5ce36abe3765ac9c2a248746dbc0", - "_resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz" + "_resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz", + "readme": "ERROR: No README data found!", + "homepage": "https://github.com/visionmedia/node-range-parser" } diff --git a/node_modules/express/node_modules/send/node_modules/debug/package.json b/node_modules/express/node_modules/send/node_modules/debug/package.json index 97bc02b..aeb84ad 100644 --- a/node_modules/express/node_modules/send/node_modules/debug/package.json +++ b/node_modules/express/node_modules/send/node_modules/debug/package.json @@ -51,5 +51,6 @@ ], "directories": {}, "_shasum": "0541ea91f0e503fdf0c5eed418a32550234967f0", - "_resolved": "https://registry.npmjs.org/debug/-/debug-0.8.0.tgz" + "_resolved": "https://registry.npmjs.org/debug/-/debug-0.8.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/express/node_modules/send/node_modules/mime/package.json b/node_modules/express/node_modules/send/node_modules/mime/package.json index 3ab7acc..c5e5685 100644 --- a/node_modules/express/node_modules/send/node_modules/mime/package.json +++ b/node_modules/express/node_modules/send/node_modules/mime/package.json @@ -51,5 +51,8 @@ ], "directories": {}, "_shasum": "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10", - "_resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz" + "_resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", + "readme": "ERROR: No README data found!", + "homepage": "https://github.com/broofa/node-mime", + "scripts": {} } diff --git a/node_modules/express/node_modules/send/package.json b/node_modules/express/node_modules/send/package.json index d7510e1..3670ce8 100644 --- a/node_modules/express/node_modules/send/package.json +++ b/node_modules/express/node_modules/send/package.json @@ -59,5 +59,6 @@ ], "directories": {}, "_shasum": "9718324634806fc75bc4f8f5e51f57d9d66606e7", - "_resolved": "https://registry.npmjs.org/send/-/send-0.3.0.tgz" + "_resolved": "https://registry.npmjs.org/send/-/send-0.3.0.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/express/package.json b/node_modules/express/package.json index 485221a..c55ef7f 100644 --- a/node_modules/express/package.json +++ b/node_modules/express/package.json @@ -111,5 +111,6 @@ ], "directories": {}, "_shasum": "af440e1ddad078934ec78241420b40bbc56dc2ad", - "_resolved": "https://registry.npmjs.org/express/-/express-3.5.3.tgz" + "_resolved": "https://registry.npmjs.org/express/-/express-3.5.3.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/ip/README.md b/node_modules/ip/README.md index 40dac31..a1c5635 100644 --- a/node_modules/ip/README.md +++ b/node_modules/ip/README.md @@ -4,7 +4,7 @@ IP address utilities for node.js ## Usage Get your ip address, compare ip addresses, validate ip addresses, etc. -``` +```js var ip = require('ip'); ip.address() // my ip address diff --git a/node_modules/ip/lib/ip.js b/node_modules/ip/lib/ip.js index d8ecd7d..7ad3110 100644 --- a/node_modules/ip/lib/ip.js +++ b/node_modules/ip/lib/ip.js @@ -1,21 +1,27 @@ -var ip = exports, - Buffer = require('buffer').Buffer, - os = require('os'); +'use strict'; + +var ip = exports; +var Buffer = require('buffer').Buffer; +var os = require('os'); ip.toBuffer = function toBuffer(ip, buff, offset) { offset = ~~offset; var result; + if (/^::ffff:(\d{1,3}\.){3,3}\d{1,3}$/.test(ip)) { + ip = ip.replace(/^::ffff:/, ''); + } + if (/^(\d{1,3}\.){3,3}\d{1,3}$/.test(ip)) { result = buff || new Buffer(offset + 4); ip.split(/\./g).map(function(byte) { result[offset++] = parseInt(byte, 10) & 0xff; }); } else if (/^[a-f0-9:]+$/.test(ip)) { - var s = ip.split(/::/g, 2), - head = (s[0] || '').split(/:/g, 8), - tail = (s[1] || '').split(/:/g, 8); + var s = ip.split(/::/g, 2); + var head = (s[0] || '').split(/:/g, 8); + var tail = (s[1] || '').split(/:/g, 8); if (tail.length === 0) { // xxxx:: @@ -65,6 +71,10 @@ ip.toString = function toString(buff, offset, length) { return result; }; +function _normalizeFamily(family) { + return family ? family.toLowerCase() : 'ipv4'; +} + ip.fromPrefixLen = function fromPrefixLen(prefixlen, family) { if (prefixlen > 32) { family = 'ipv6'; @@ -128,14 +138,14 @@ ip.mask = function mask(addr, mask) { ip.cidr = function cidr(cidrString) { var cidrParts = cidrString.split('/'); - if (cidrParts.length != 2) + var addr = cidrParts[0]; + if (cidrParts.length !== 2) throw new Error('invalid CIDR subnet: ' + addr); - var addr = cidrParts[0]; var mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10)); return ip.mask(addr, mask); -} +}; ip.subnet = function subnet(addr, mask) { var networkAddress = ip.toLong(ip.mask(addr, mask)); @@ -145,7 +155,7 @@ ip.subnet = function subnet(addr, mask) { var maskLength = 0; for (var i = 0; i < maskBuffer.length; i++) { - if (maskBuffer[i] == 0xff) { + if (maskBuffer[i] === 0xff) { maskLength += 8; } else { var octet = maskBuffer[i] & 0xff; @@ -173,19 +183,19 @@ ip.subnet = function subnet(addr, mask) { numberOfAddresses : numberOfAddresses - 2, length: numberOfAddresses }; -} +}; ip.cidrSubnet = function cidrSubnet(cidrString) { var cidrParts = cidrString.split('/'); + var addr = cidrParts[0]; if (cidrParts.length !== 2) throw new Error('invalid CIDR subnet: ' + addr); - var addr = cidrParts[0]; var mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10)); return ip.subnet(addr, mask); -} +}; ip.not = function not(addr) { var buff = ip.toBuffer(addr); @@ -200,7 +210,7 @@ ip.or = function or(a, b) { b = ip.toBuffer(b); // same protocol - if (a.length == b.length) { + if (a.length === b.length) { for (var i = 0; i < a.length; ++i) { a[i] |= b[i]; } @@ -259,25 +269,26 @@ ip.isEqual = function isEqual(a, b) { }; ip.isPrivate = function isPrivate(addr) { - return addr.match(/^10\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/) != null || - addr.match(/^192\.168\.([0-9]{1,3})\.([0-9]{1,3})/) != null || - addr.match( - /^172\.(1[6-9]|2\d|30|31)\.([0-9]{1,3})\.([0-9]{1,3})/) != null || - addr.match(/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/) != null || - addr.match(/^169\.254\.([0-9]{1,3})\.([0-9]{1,3})/) != null || - addr.match(/^fc00:/) != null || addr.match(/^fe80:/) != null || - addr.match(/^::1$/) != null || addr.match(/^::$/) != null; + return /^10\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/.test(addr) || + /^192\.168\.([0-9]{1,3})\.([0-9]{1,3})/.test(addr) || + /^172\.(1[6-9]|2\d|30|31)\.([0-9]{1,3})\.([0-9]{1,3})/.test(addr) || + /^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/.test(addr) || + /^169\.254\.([0-9]{1,3})\.([0-9]{1,3})/.test(addr) || + /^fc00:/.test(addr) || + /^fe80:/.test(addr) || + /^::1$/.test(addr) || + /^::$/.test(addr); }; ip.isPublic = function isPublic(addr) { return !ip.isPrivate(addr); -} +}; ip.isLoopback = function isLoopback(addr) { - return /^127\.0\.0\.1$/.test(addr) - || /^fe80::1$/.test(addr) - || /^::1$/.test(addr) - || /^::$/.test(addr); + return /^127\.\d+\.\d+\.\d+$/.test(addr) || + /^fe80::1$/.test(addr) || + /^::1$/.test(addr) || + /^::$/.test(addr); }; ip.loopback = function loopback(family) { @@ -290,9 +301,7 @@ ip.loopback = function loopback(family) { throw new Error('family must be ipv4 or ipv6'); } - return family === 'ipv4' - ? '127.0.0.1' - : 'fe80::1'; + return family === 'ipv4' ? '127.0.0.1' : 'fe80::1'; }; // @@ -311,8 +320,8 @@ ip.loopback = function loopback(family) { // * undefined: First address with `ipv4` or loopback addres `127.0.0.1`. // ip.address = function address(name, family) { - var interfaces = os.networkInterfaces(), - all; + var interfaces = os.networkInterfaces(); + var all; // // Default to `ipv4` @@ -323,11 +332,14 @@ ip.address = function address(name, family) { // If a specific network interface has been named, // return the address. // - if (name && !~['public', 'private'].indexOf(name)) { - return interfaces[name].filter(function (details) { - details.family = details.family.toLowerCase(); - return details.family === family; - })[0].address; + if (name && name !== 'private' && name !== 'public') { + var res = interfaces[name].filter(function(details) { + var itemFamily = details.family.toLowerCase(); + return itemFamily === family; + }); + if (res.length === 0) + return undefined; + return res[0].address; } var all = Object.keys(interfaces).map(function (nic) { @@ -339,42 +351,32 @@ ip.address = function address(name, family) { details.family = details.family.toLowerCase(); if (details.family !== family || ip.isLoopback(details.address)) { return false; - } - else if (!name) { + } else if (!name) { return true; } - return name === 'public' - ? !ip.isPrivate(details.address) - : ip.isPrivate(details.address) + return name === 'public' ? !ip.isPrivate(details.address) : + ip.isPrivate(details.address); }); - return addresses.length - ? addresses[0].address - : undefined; + return addresses.length ? addresses[0].address : undefined; }).filter(Boolean); - return !all.length - ? ip.loopback(family) - : all[0]; + return !all.length ? ip.loopback(family) : all[0]; }; -ip.toLong = function toInt(ip){ - var ipl=0; - ip.split('.').forEach(function( octet ) { - ipl<<=8; - ipl+=parseInt(octet); +ip.toLong = function toInt(ip) { + var ipl = 0; + ip.split('.').forEach(function(octet) { + ipl <<= 8; + ipl += parseInt(octet); }); - return(ipl >>>0); + return(ipl >>> 0); }; -ip.fromLong = function fromInt(ipl){ - return ( (ipl>>>24) +'.' + - (ipl>>16 & 255) +'.' + - (ipl>>8 & 255) +'.' + +ip.fromLong = function fromInt(ipl) { + return ((ipl >>> 24) + '.' + + (ipl >> 16 & 255) + '.' + + (ipl >> 8 & 255) + '.' + (ipl & 255) ); }; - -function _normalizeFamily(family) { - return family ? family.toLowerCase() : 'ipv4'; -} diff --git a/node_modules/ip/package.json b/node_modules/ip/package.json index 9ccc923..420a492 100644 --- a/node_modules/ip/package.json +++ b/node_modules/ip/package.json @@ -1,6 +1,6 @@ { "name": "ip", - "version": "0.3.3", + "version": "1.0.1", "author": { "name": "Fedor Indutny", "email": "fedor@indutny.com" @@ -12,22 +12,24 @@ }, "main": "lib/ip", "devDependencies": { + "jscs": "^2.1.1", + "jshint": "^2.8.0", "mocha": "~1.3.2" }, "scripts": { - "test": "mocha --reporter spec test/*-test.js" + "test": "jscs lib/*.js test/*.js && jshint lib/*.js && mocha --reporter spec test/*-test.js" }, "license": "MIT", - "gitHead": "7798e2d222718087863d8a5a99e3c02f3a30e2b9", + "gitHead": "5fa3ae74c70f2af2f3bc1b8784685c5bc004d468", "description": "IP address utilities for node.js", "bugs": { "url": "https://github.com/indutny/node-ip/issues" }, - "_id": "ip@0.3.3", - "_shasum": "8ee8309e92f0b040d287f72efaca1a21702d3fb4", + "_id": "ip@1.0.1", + "_shasum": "c7e356cdea225ae71b36d70f2e71a92ba4e42590", "_from": "ip@latest", - "_npmVersion": "2.9.0", - "_nodeVersion": "2.0.0", + "_npmVersion": "2.14.2", + "_nodeVersion": "4.0.0", "_npmUser": { "name": "indutny", "email": "fedor@indutny.com" @@ -47,9 +49,10 @@ } ], "dist": { - "shasum": "8ee8309e92f0b040d287f72efaca1a21702d3fb4", - "tarball": "http://registry.npmjs.org/ip/-/ip-0.3.3.tgz" + "shasum": "c7e356cdea225ae71b36d70f2e71a92ba4e42590", + "tarball": "http://registry.npmjs.org/ip/-/ip-1.0.1.tgz" }, "directories": {}, - "_resolved": "https://registry.npmjs.org/ip/-/ip-0.3.3.tgz" + "_resolved": "https://registry.npmjs.org/ip/-/ip-1.0.1.tgz", + "readme": "ERROR: No README data found!" } diff --git a/node_modules/ip/test/api-test.js b/node_modules/ip/test/api-test.js index 20295f8..437fa54 100644 --- a/node_modules/ip/test/api-test.js +++ b/node_modules/ip/test/api-test.js @@ -1,7 +1,9 @@ -var ip = require('..'), - assert = require('assert'), - net = require('net'), - os = require('os'); +'use strict'; + +var ip = require('..'); +var assert = require('assert'); +var net = require('net'); +var os = require('os'); describe('IP library for node.js', function() { describe('toBuffer()/toString() methods', function() { @@ -38,6 +40,12 @@ describe('IP library for node.js', function() { assert.equal(ip.toString(ip.toBuffer('abcd::dcba', buf, offset), offset, 16), 'abcd::dcba'); }); + + it('should convert to buffer IPv6 mapped IPv4 address', function() { + var buf = ip.toBuffer('::ffff:127.0.0.1'); + assert.equal(buf.toString('hex'), '7f000001'); + assert.equal(ip.toString(buf), '127.0.0.1'); + }); }); describe('fromPrefixLen() method', function() { @@ -198,6 +206,8 @@ describe('IP library for node.js', function() { assert(!ip.isEqual('127.0.0.1', '::7f00:2')); assert(ip.isEqual('127.0.0.1', '::ffff:7f00:1')); assert(!ip.isEqual('127.0.0.1', '::ffaf:7f00:1')); + assert(ip.isEqual('::ffff:127.0.0.1', '::ffff:127.0.0.1')); + assert(ip.isEqual('::ffff:127.0.0.1', '127.0.0.1')); }); }); @@ -249,69 +259,75 @@ describe('IP library for node.js', function() { }); }); - describe('loopback() method', function () { - describe('undefined', function () { - it('should respond with 127.0.0.1', function () { + describe('loopback() method', function() { + describe('undefined', function() { + it('should respond with 127.0.0.1', function() { assert.equal(ip.loopback(), '127.0.0.1') }); }); - describe('ipv4', function () { - it('should respond with 127.0.0.1', function () { + describe('ipv4', function() { + it('should respond with 127.0.0.1', function() { assert.equal(ip.loopback('ipv4'), '127.0.0.1') }); }); - describe('ipv6', function () { - it('should respond with fe80::1', function () { + describe('ipv6', function() { + it('should respond with fe80::1', function() { assert.equal(ip.loopback('ipv6'), 'fe80::1') }); }); }); - describe('isLoopback() method', function () { - describe('127.0.0.1', function () { - it('should respond with true', function () { + describe('isLoopback() method', function() { + describe('127.0.0.1', function() { + it('should respond with true', function() { assert.ok(ip.isLoopback('127.0.0.1')) }); }); + describe('127.8.8.8', function () { + it('should respond with true', function () { + assert.ok(ip.isLoopback('127.8.8.8')) + }); + }); + describe('8.8.8.8', function () { it('should respond with false', function () { assert.equal(ip.isLoopback('8.8.8.8'), false); }); }); - describe('fe80::1', function () { - it('should respond with true', function () { + describe('fe80::1', function() { + it('should respond with true', function() { assert.ok(ip.isLoopback('fe80::1')) }); }); - describe('::1', function () { - it('should respond with true', function () { + describe('::1', function() { + it('should respond with true', function() { assert.ok(ip.isLoopback('::1')) }); }); - describe('::', function () { - it('should respond with true', function () { + describe('::', function() { + it('should respond with true', function() { assert.ok(ip.isLoopback('::')) }); }); }); - describe('address() method', function () { - describe('undefined', function () { - it('should respond with a private ip', function () { + describe('address() method', function() { + describe('undefined', function() { + it('should respond with a private ip', function() { assert.ok(ip.isPrivate(ip.address())); }); }); - describe('private', function () { - [undefined, 'ipv4', 'ipv6'].forEach(function (family) { - describe(family, function () { - it('should respond with a private ip', function () { + describe('private', function() { + [ undefined, 'ipv4', 'ipv6' ].forEach(function(family) { + describe(family, function() { + it('should respond with a private ip', function() { assert.ok(ip.isPrivate(ip.address('private', family))); }); }); @@ -320,34 +336,36 @@ describe('IP library for node.js', function() { var interfaces = os.networkInterfaces(); - Object.keys(interfaces).forEach(function (nic) { - describe(nic, function () { - [undefined, 'ipv4'].forEach(function (family) { - describe(family, function () { - it('should respond with an ipv4 address', function () { - assert.ok(net.isIPv4(ip.address(nic, family))); + Object.keys(interfaces).forEach(function(nic) { + describe(nic, function() { + [ undefined, 'ipv4' ].forEach(function(family) { + describe(family, function() { + it('should respond with an ipv4 address', function() { + var addr = ip.address(nic, family); + assert.ok(!addr || net.isIPv4(addr)); }); }); }); - describe('ipv6', function () { - it('should respond with an ipv6 address', function () { - assert.ok(net.isIPv6(ip.address(nic, 'ipv6'))); + describe('ipv6', function() { + it('should respond with an ipv6 address', function() { + var addr = ip.address(nic, 'ipv6'); + assert.ok(!addr || net.isIPv6(addr)); }); }) }); }); }); - describe('toLong() method', function(){ - it('should respond with a int', function(){ + describe('toLong() method', function() { + it('should respond with a int', function() { assert.equal(ip.toLong('127.0.0.1'), 2130706433); assert.equal(ip.toLong('255.255.255.255'), 4294967295); }); }); - describe('fromLong() method', function(){ - it('should repond with ipv4 address', function(){ + describe('fromLong() method', function() { + it('should repond with ipv4 address', function() { assert.equal(ip.fromLong(2130706433), '127.0.0.1'); assert.equal(ip.fromLong(4294967295), '255.255.255.255'); }); diff --git a/node_modules/mkdirp/.npmignore b/node_modules/mkdirp/.npmignore deleted file mode 100644 index 9303c34..0000000 --- a/node_modules/mkdirp/.npmignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules/ -npm-debug.log \ No newline at end of file diff --git a/node_modules/mkdirp/.travis.yml b/node_modules/mkdirp/.travis.yml index c693a93..74c57bf 100644 --- a/node_modules/mkdirp/.travis.yml +++ b/node_modules/mkdirp/.travis.yml @@ -1,5 +1,8 @@ language: node_js node_js: - - 0.6 - - 0.8 + - "0.8" - "0.10" + - "0.12" + - "iojs" +before_install: + - npm install -g npm@~1.4.6 diff --git a/node_modules/mkdirp/index.js b/node_modules/mkdirp/index.js index a1742b2..6ce241b 100644 --- a/node_modules/mkdirp/index.js +++ b/node_modules/mkdirp/index.js @@ -1,5 +1,6 @@ var path = require('path'); var fs = require('fs'); +var _0777 = parseInt('0777', 8); module.exports = mkdirP.mkdirp = mkdirP.mkdirP = mkdirP; @@ -16,7 +17,7 @@ function mkdirP (p, opts, f, made) { var xfs = opts.fs || fs; if (mode === undefined) { - mode = 0777 & (~process.umask()); + mode = _0777 & (~process.umask()); } if (!made) made = null; @@ -60,7 +61,7 @@ mkdirP.sync = function sync (p, opts, made) { var xfs = opts.fs || fs; if (mode === undefined) { - mode = 0777 & (~process.umask()); + mode = _0777 & (~process.umask()); } if (!made) made = null; diff --git a/node_modules/mkdirp/node_modules/minimist/package.json b/node_modules/mkdirp/node_modules/minimist/package.json index 09e9ec4..7cd80f4 100644 --- a/node_modules/mkdirp/node_modules/minimist/package.json +++ b/node_modules/mkdirp/node_modules/minimist/package.json @@ -62,6 +62,5 @@ ], "directories": {}, "_shasum": "857fcabfc3397d2625b8228262e86aa7a011b05d", - "_resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "readme": "ERROR: No README data found!" + "_resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" } diff --git a/node_modules/mkdirp/package.json b/node_modules/mkdirp/package.json index 54d87e7..70a6cba 100644 --- a/node_modules/mkdirp/package.json +++ b/node_modules/mkdirp/package.json @@ -1,20 +1,20 @@ { "name": "mkdirp", "description": "Recursively mkdir, like `mkdir -p`", - "version": "0.5.0", + "version": "0.5.1", "author": { "name": "James Halliday", "email": "mail@substack.net", "url": "http://substack.net" }, - "main": "./index", + "main": "index.js", "keywords": [ "mkdir", "directory" ], "repository": { "type": "git", - "url": "https://github.com/substack/node-mkdirp.git" + "url": "git+https://github.com/substack/node-mkdirp.git" }, "scripts": { "test": "tap test/*.js" @@ -23,27 +23,30 @@ "minimist": "0.0.8" }, "devDependencies": { - "tap": "~0.4.0", - "mock-fs": "~2.2.0" + "tap": "1", + "mock-fs": "2 >=2.7.0" }, "bin": { "mkdirp": "bin/cmd.js" }, "license": "MIT", + "gitHead": "d4eff0f06093aed4f387e88e9fc301cb76beedc7", "bugs": { "url": "https://github.com/substack/node-mkdirp/issues" }, - "homepage": "https://github.com/substack/node-mkdirp", - "_id": "mkdirp@0.5.0", - "dist": { - "shasum": "1d73076a6df986cd9344e15e71fcc05a4c9abf12", - "tarball": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz" - }, + "homepage": "https://github.com/substack/node-mkdirp#readme", + "_id": "mkdirp@0.5.1", + "_shasum": "30057438eac6cf7f8c4767f38648d6697d75c903", "_from": "mkdirp@>=0.5.0 <0.6.0", - "_npmVersion": "1.4.3", + "_npmVersion": "2.9.0", + "_nodeVersion": "2.0.0", "_npmUser": { "name": "substack", - "email": "mail@substack.net" + "email": "substack@gmail.com" + }, + "dist": { + "shasum": "30057438eac6cf7f8c4767f38648d6697d75c903", + "tarball": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" }, "maintainers": [ { @@ -52,7 +55,6 @@ } ], "directories": {}, - "_shasum": "1d73076a6df986cd9344e15e71fcc05a4c9abf12", - "_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz", + "_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", "readme": "ERROR: No README data found!" } diff --git a/node_modules/mkdirp/test/chmod.js b/node_modules/mkdirp/test/chmod.js index 520dcb8..6a404b9 100644 --- a/node_modules/mkdirp/test/chmod.js +++ b/node_modules/mkdirp/test/chmod.js @@ -2,6 +2,9 @@ var mkdirp = require('../').mkdirp; var path = require('path'); var fs = require('fs'); var test = require('tap').test; +var _0777 = parseInt('0777', 8); +var _0755 = parseInt('0755', 8); +var _0744 = parseInt('0744', 8); var ps = [ '', 'tmp' ]; @@ -13,20 +16,20 @@ for (var i = 0; i < 25; i++) { var file = ps.join('/'); test('chmod-pre', function (t) { - var mode = 0744 + var mode = _0744 mkdirp(file, mode, function (er) { t.ifError(er, 'should not error'); fs.stat(file, function (er, stat) { t.ifError(er, 'should exist'); t.ok(stat && stat.isDirectory(), 'should be directory'); - t.equal(stat && stat.mode & 0777, mode, 'should be 0744'); + t.equal(stat && stat.mode & _0777, mode, 'should be 0744'); t.end(); }); }); }); test('chmod', function (t) { - var mode = 0755 + var mode = _0755 mkdirp(file, mode, function (er) { t.ifError(er, 'should not error'); fs.stat(file, function (er, stat) { diff --git a/node_modules/mkdirp/test/clobber.js b/node_modules/mkdirp/test/clobber.js index 0eb7099..2433b9a 100644 --- a/node_modules/mkdirp/test/clobber.js +++ b/node_modules/mkdirp/test/clobber.js @@ -2,6 +2,7 @@ var mkdirp = require('../').mkdirp; var path = require('path'); var fs = require('fs'); var test = require('tap').test; +var _0755 = parseInt('0755', 8); var ps = [ '', 'tmp' ]; @@ -29,7 +30,7 @@ test('clobber-pre', function (t) { test('clobber', function (t) { t.plan(2); - mkdirp(file, 0755, function (err) { + mkdirp(file, _0755, function (err) { t.ok(err); t.equal(err.code, 'ENOTDIR'); t.end(); diff --git a/node_modules/mkdirp/test/mkdirp.js b/node_modules/mkdirp/test/mkdirp.js index 3b624dd..eaa8921 100644 --- a/node_modules/mkdirp/test/mkdirp.js +++ b/node_modules/mkdirp/test/mkdirp.js @@ -3,6 +3,8 @@ var path = require('path'); var fs = require('fs'); var exists = fs.exists || path.exists; var test = require('tap').test; +var _0777 = parseInt('0777', 8); +var _0755 = parseInt('0755', 8); test('woo', function (t) { t.plan(5); @@ -12,13 +14,13 @@ test('woo', function (t) { var file = '/tmp/' + [x,y,z].join('/'); - mkdirp(file, 0755, function (err) { + mkdirp(file, _0755, function (err) { t.ifError(err); exists(file, function (ex) { t.ok(ex, 'file created'); fs.stat(file, function (err, stat) { t.ifError(err); - t.equal(stat.mode & 0777, 0755); + t.equal(stat.mode & _0777, _0755); t.ok(stat.isDirectory(), 'target not a directory'); }) }) diff --git a/node_modules/mkdirp/test/opts_fs.js b/node_modules/mkdirp/test/opts_fs.js index f1fbeca..97186b6 100644 --- a/node_modules/mkdirp/test/opts_fs.js +++ b/node_modules/mkdirp/test/opts_fs.js @@ -2,6 +2,8 @@ var mkdirp = require('../'); var path = require('path'); var test = require('tap').test; var mockfs = require('mock-fs'); +var _0777 = parseInt('0777', 8); +var _0755 = parseInt('0755', 8); test('opts.fs', function (t) { t.plan(5); @@ -13,13 +15,13 @@ test('opts.fs', function (t) { var file = '/beep/boop/' + [x,y,z].join('/'); var xfs = mockfs.fs(); - mkdirp(file, { fs: xfs, mode: 0755 }, function (err) { + mkdirp(file, { fs: xfs, mode: _0755 }, function (err) { t.ifError(err); xfs.exists(file, function (ex) { t.ok(ex, 'created file'); xfs.stat(file, function (err, stat) { t.ifError(err); - t.equal(stat.mode & 0777, 0755); + t.equal(stat.mode & _0777, _0755); t.ok(stat.isDirectory(), 'target not a directory'); }); }); diff --git a/node_modules/mkdirp/test/opts_fs_sync.js b/node_modules/mkdirp/test/opts_fs_sync.js index 224b506..6c370aa 100644 --- a/node_modules/mkdirp/test/opts_fs_sync.js +++ b/node_modules/mkdirp/test/opts_fs_sync.js @@ -2,6 +2,8 @@ var mkdirp = require('../'); var path = require('path'); var test = require('tap').test; var mockfs = require('mock-fs'); +var _0777 = parseInt('0777', 8); +var _0755 = parseInt('0755', 8); test('opts.fs sync', function (t) { t.plan(4); @@ -13,12 +15,12 @@ test('opts.fs sync', function (t) { var file = '/beep/boop/' + [x,y,z].join('/'); var xfs = mockfs.fs(); - mkdirp.sync(file, { fs: xfs, mode: 0755 }); + mkdirp.sync(file, { fs: xfs, mode: _0755 }); xfs.exists(file, function (ex) { t.ok(ex, 'created file'); xfs.stat(file, function (err, stat) { t.ifError(err); - t.equal(stat.mode & 0777, 0755); + t.equal(stat.mode & _0777, _0755); t.ok(stat.isDirectory(), 'target not a directory'); }); }); diff --git a/node_modules/mkdirp/test/perm.js b/node_modules/mkdirp/test/perm.js index 2c97590..fbce44b 100644 --- a/node_modules/mkdirp/test/perm.js +++ b/node_modules/mkdirp/test/perm.js @@ -3,18 +3,20 @@ var path = require('path'); var fs = require('fs'); var exists = fs.exists || path.exists; var test = require('tap').test; +var _0777 = parseInt('0777', 8); +var _0755 = parseInt('0755', 8); test('async perm', function (t) { t.plan(5); var file = '/tmp/' + (Math.random() * (1<<30)).toString(16); - mkdirp(file, 0755, function (err) { + mkdirp(file, _0755, function (err) { t.ifError(err); exists(file, function (ex) { t.ok(ex, 'file created'); fs.stat(file, function (err, stat) { t.ifError(err); - t.equal(stat.mode & 0777, 0755); + t.equal(stat.mode & _0777, _0755); t.ok(stat.isDirectory(), 'target not a directory'); }) }) @@ -22,7 +24,7 @@ test('async perm', function (t) { }); test('async root perm', function (t) { - mkdirp('/tmp', 0755, function (err) { + mkdirp('/tmp', _0755, function (err) { if (err) t.fail(err); t.end(); }); diff --git a/node_modules/mkdirp/test/perm_sync.js b/node_modules/mkdirp/test/perm_sync.js index 327e54b..398229f 100644 --- a/node_modules/mkdirp/test/perm_sync.js +++ b/node_modules/mkdirp/test/perm_sync.js @@ -3,17 +3,19 @@ var path = require('path'); var fs = require('fs'); var exists = fs.exists || path.exists; var test = require('tap').test; +var _0777 = parseInt('0777', 8); +var _0755 = parseInt('0755', 8); test('sync perm', function (t) { t.plan(4); var file = '/tmp/' + (Math.random() * (1<<30)).toString(16) + '.json'; - mkdirp.sync(file, 0755); + mkdirp.sync(file, _0755); exists(file, function (ex) { t.ok(ex, 'file created'); fs.stat(file, function (err, stat) { t.ifError(err); - t.equal(stat.mode & 0777, 0755); + t.equal(stat.mode & _0777, _0755); t.ok(stat.isDirectory(), 'target not a directory'); }); }); @@ -23,7 +25,7 @@ test('sync root perm', function (t) { t.plan(3); var file = '/tmp'; - mkdirp.sync(file, 0755); + mkdirp.sync(file, _0755); exists(file, function (ex) { t.ok(ex, 'file created'); fs.stat(file, function (err, stat) { diff --git a/node_modules/mkdirp/test/race.js b/node_modules/mkdirp/test/race.js index 7c295f4..b0b9e18 100644 --- a/node_modules/mkdirp/test/race.js +++ b/node_modules/mkdirp/test/race.js @@ -3,9 +3,11 @@ var path = require('path'); var fs = require('fs'); var exists = fs.exists || path.exists; var test = require('tap').test; +var _0777 = parseInt('0777', 8); +var _0755 = parseInt('0755', 8); test('race', function (t) { - t.plan(6); + t.plan(10); var ps = [ '', 'tmp' ]; for (var i = 0; i < 25; i++) { @@ -15,24 +17,19 @@ test('race', function (t) { var file = ps.join('/'); var res = 2; - mk(file, function () { - if (--res === 0) t.end(); - }); + mk(file); - mk(file, function () { - if (--res === 0) t.end(); - }); + mk(file); function mk (file, cb) { - mkdirp(file, 0755, function (err) { + mkdirp(file, _0755, function (err) { t.ifError(err); exists(file, function (ex) { t.ok(ex, 'file created'); fs.stat(file, function (err, stat) { t.ifError(err); - t.equal(stat.mode & 0777, 0755); + t.equal(stat.mode & _0777, _0755); t.ok(stat.isDirectory(), 'target not a directory'); - if (cb) cb(); }); }) }); diff --git a/node_modules/mkdirp/test/rel.js b/node_modules/mkdirp/test/rel.js index d1f175c..4ddb342 100644 --- a/node_modules/mkdirp/test/rel.js +++ b/node_modules/mkdirp/test/rel.js @@ -3,6 +3,8 @@ var path = require('path'); var fs = require('fs'); var exists = fs.exists || path.exists; var test = require('tap').test; +var _0777 = parseInt('0777', 8); +var _0755 = parseInt('0755', 8); test('rel', function (t) { t.plan(5); @@ -15,14 +17,14 @@ test('rel', function (t) { var file = [x,y,z].join('/'); - mkdirp(file, 0755, function (err) { + mkdirp(file, _0755, function (err) { t.ifError(err); exists(file, function (ex) { t.ok(ex, 'file created'); fs.stat(file, function (err, stat) { t.ifError(err); process.chdir(cwd); - t.equal(stat.mode & 0777, 0755); + t.equal(stat.mode & _0777, _0755); t.ok(stat.isDirectory(), 'target not a directory'); }) }) diff --git a/node_modules/mkdirp/test/root.js b/node_modules/mkdirp/test/root.js index 97ad7a2..9e7d079 100644 --- a/node_modules/mkdirp/test/root.js +++ b/node_modules/mkdirp/test/root.js @@ -2,12 +2,13 @@ var mkdirp = require('../'); var path = require('path'); var fs = require('fs'); var test = require('tap').test; +var _0755 = parseInt('0755', 8); test('root', function (t) { // '/' on unix, 'c:/' on windows. var file = path.resolve('/'); - mkdirp(file, 0755, function (err) { + mkdirp(file, _0755, function (err) { if (err) throw err fs.stat(file, function (er, stat) { if (er) throw er diff --git a/node_modules/mkdirp/test/sync.js b/node_modules/mkdirp/test/sync.js index 88fa432..8c8dc93 100644 --- a/node_modules/mkdirp/test/sync.js +++ b/node_modules/mkdirp/test/sync.js @@ -3,6 +3,8 @@ var path = require('path'); var fs = require('fs'); var exists = fs.exists || path.exists; var test = require('tap').test; +var _0777 = parseInt('0777', 8); +var _0755 = parseInt('0755', 8); test('sync', function (t) { t.plan(4); @@ -13,7 +15,7 @@ test('sync', function (t) { var file = '/tmp/' + [x,y,z].join('/'); try { - mkdirp.sync(file, 0755); + mkdirp.sync(file, _0755); } catch (err) { t.fail(err); return t.end(); @@ -23,7 +25,7 @@ test('sync', function (t) { t.ok(ex, 'file created'); fs.stat(file, function (err, stat) { t.ifError(err); - t.equal(stat.mode & 0777, 0755); + t.equal(stat.mode & _0777, _0755); t.ok(stat.isDirectory(), 'target not a directory'); }); }); diff --git a/node_modules/mkdirp/test/umask.js b/node_modules/mkdirp/test/umask.js index 82c393a..2033c63 100644 --- a/node_modules/mkdirp/test/umask.js +++ b/node_modules/mkdirp/test/umask.js @@ -3,6 +3,8 @@ var path = require('path'); var fs = require('fs'); var exists = fs.exists || path.exists; var test = require('tap').test; +var _0777 = parseInt('0777', 8); +var _0755 = parseInt('0755', 8); test('implicit mode from umask', function (t) { t.plan(5); @@ -18,7 +20,7 @@ test('implicit mode from umask', function (t) { t.ok(ex, 'file created'); fs.stat(file, function (err, stat) { t.ifError(err); - t.equal(stat.mode & 0777, 0777 & (~process.umask())); + t.equal(stat.mode & _0777, _0777 & (~process.umask())); t.ok(stat.isDirectory(), 'target not a directory'); }); }) diff --git a/node_modules/mkdirp/test/umask_sync.js b/node_modules/mkdirp/test/umask_sync.js index e537fbe..11a7614 100644 --- a/node_modules/mkdirp/test/umask_sync.js +++ b/node_modules/mkdirp/test/umask_sync.js @@ -3,6 +3,8 @@ var path = require('path'); var fs = require('fs'); var exists = fs.exists || path.exists; var test = require('tap').test; +var _0777 = parseInt('0777', 8); +var _0755 = parseInt('0755', 8); test('umask sync modes', function (t) { t.plan(4); @@ -23,7 +25,7 @@ test('umask sync modes', function (t) { t.ok(ex, 'file created'); fs.stat(file, function (err, stat) { t.ifError(err); - t.equal(stat.mode & 0777, (0777 & (~process.umask()))); + t.equal(stat.mode & _0777, (_0777 & (~process.umask()))); t.ok(stat.isDirectory(), 'target not a directory'); }); }); diff --git a/server.js b/server.js index fa7369d..4c29335 100644 --- a/server.js +++ b/server.js @@ -21,6 +21,7 @@ var logger = require('./logsystem/main.js'); var kue = require('kue'); var queue = kue.createQueue(); var unirest = require('unirest'); +var ui = require('kue-ui'); var PythonShell = require('python-shell'); @@ -30,6 +31,9 @@ var options = { args: [] }; +app.use('/kue', kue.app); +// app.use('/kueui', ui.app); + app.use(express.static(path.join(__dirname, '/videos'))); app.use(express.bodyParser({ keepExtensions: true, uploadDir: path.join(__dirname, '/uploads') })); @@ -216,18 +220,18 @@ app.listen(properties.port, properties.host, function(){ -var CronJob = require('cron').CronJob; -// '* * * * * *' == a cada 1 segundo -new CronJob('* * * * * *', function() { - unirest.post('http://localhost:5000/api') - .header('Accept', 'application/json') - .send({ "servico": "texto", "transparencia": "opaco", "texto": "texto teste" }) - .end(function (response) { - console.log(response.status); - if(response.status === 200){ - logger.updateHealth("outros", 1); - } else { - logger.updateHealth(); - } - }); -}, null, true); // no lugar do null pode ser uma funcao pra executar quando parar +// var CronJob = require('cron').CronJob; +// // '* * * * * *' == a cada 1 segundo +// new CronJob('* 2 * * * *', function() { +// unirest.post('http://localhost:5000/api') +// .header('Accept', 'application/json') +// .send({ "servico": "texto", "transparencia": "opaco", "texto": "texto teste" }) +// .end(function (response) { +// console.log(response.status); +// if(response.status === 200){ +// logger.updateHealth("outros", 1); +// } else { +// logger.updateHealth(); +// } +// }); +// }, null, true); // no lugar do null pode ser uma funcao pra executar quando parar -- libgit2 0.21.2