Commit 8c7622380abee57bc1ee2c4d3983bde555dad282
1 parent
9493e37d
Exists in
master
and in
1 other branch
fix done job
Showing
61 changed files
with
437 additions
and
293 deletions
Show diff stats
endpoints/texto.js
| @@ -65,6 +65,7 @@ function init(req, res, Request) { | @@ -65,6 +65,7 @@ function init(req, res, Request) { | ||
| 65 | 65 | ||
| 66 | job.on('complete', function() { | 66 | job.on('complete', function() { |
| 67 | /* Listener que dispara quando a requisição ao core finaliza */ | 67 | /* Listener que dispara quando a requisição ao core finaliza */ |
| 68 | + // console.log("JOB complete"); | ||
| 68 | child.on('close', function(code, signal) { | 69 | child.on('close', function(code, signal) { |
| 69 | // res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.webm' }); | 70 | // res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + id + '.webm' }); |
| 70 | db.update(request_object, 'Completed', function(result) { | 71 | db.update(request_object, 'Completed', function(result) { |
helpers/queue.js
| 1 | var exec = require('child_process').exec, child; | 1 | var exec = require('child_process').exec, child; |
| 2 | 2 | ||
| 3 | -exports.exec_command_line = function (command_line, callback) { | 3 | +exports.exec_command_line = function (command_line, done) { |
| 4 | 4 | ||
| 5 | child = exec(command_line, function(err, stdout, stderr) { | 5 | child = exec(command_line, function(err, stdout, stderr) { |
| 6 | // console.log('Err: ' + err); | 6 | // console.log('Err: ' + err); |
| 7 | // console.log('STDOUT: ' + stdout); | 7 | // console.log('STDOUT: ' + stdout); |
| 8 | // console.log('STDERR: ' + stderr); | 8 | // console.log('STDERR: ' + stderr); |
| 9 | }); | 9 | }); |
| 10 | - //callback(); | 10 | + //done(); |
| 11 | // if (child === undefined) { | 11 | // if (child === undefined) { |
| 12 | // throw "Erro ao conectar com o core"; | 12 | // throw "Erro ao conectar com o core"; |
| 13 | // } | 13 | // } |
| @@ -17,6 +17,18 @@ exports.exec_command_line = function (command_line, callback) { | @@ -17,6 +17,18 @@ exports.exec_command_line = function (command_line, callback) { | ||
| 17 | child.on('disconnect', function(code, signal) { | 17 | child.on('disconnect', function(code, signal) { |
| 18 | throw "Disconectado do core"; | 18 | throw "Disconectado do core"; |
| 19 | }); | 19 | }); |
| 20 | + | ||
| 21 | + // tentar com isso descomentado no lugar de chamar o done() direto | ||
| 22 | + // child.on('close', function(code, signal) { | ||
| 23 | + // done(); | ||
| 24 | + // }); | ||
| 25 | + done(); | ||
| 20 | return child; | 26 | return child; |
| 21 | 27 | ||
| 22 | }; | 28 | }; |
| 29 | + | ||
| 30 | +// use to debug | ||
| 31 | +exports.text = function (text, callback) { | ||
| 32 | + console.log("Text inside queue_helper: " + text); | ||
| 33 | + return text; | ||
| 34 | +}; |
logsystem/errors.log
logsystem/services.log
node_modules/async/.travis.yml
node_modules/async/README.md
| @@ -5,8 +5,16 @@ | @@ -5,8 +5,16 @@ | ||
| 5 | 5 | ||
| 6 | Async is a utility module which provides straight-forward, powerful functions | 6 | Async is a utility module which provides straight-forward, powerful functions |
| 7 | for working with asynchronous JavaScript. Although originally designed for | 7 | for working with asynchronous JavaScript. Although originally designed for |
| 8 | -use with [Node.js](http://nodejs.org), it can also be used directly in the | ||
| 9 | -browser. Also supports [component](https://github.com/component/component). | 8 | +use with [Node.js](http://nodejs.org) and installable via `npm install async`, |
| 9 | +it can also be used directly in the browser. | ||
| 10 | + | ||
| 11 | +Async is also installable via: | ||
| 12 | + | ||
| 13 | +- [bower](http://bower.io/): `bower install async` | ||
| 14 | +- [component](https://github.com/component/component): `component install | ||
| 15 | + caolan/async` | ||
| 16 | +- [jam](http://jamjs.org/): `jam install async` | ||
| 17 | +- [spm](http://spmjs.io/): `spm install async` | ||
| 10 | 18 | ||
| 11 | Async provides around 20 functions that include the usual 'functional' | 19 | Async provides around 20 functions that include the usual 'functional' |
| 12 | suspects (`map`, `reduce`, `filter`, `each`…) as well as some common patterns | 20 | suspects (`map`, `reduce`, `filter`, `each`…) as well as some common patterns |
| @@ -182,7 +190,7 @@ __Arguments__ | @@ -182,7 +190,7 @@ __Arguments__ | ||
| 182 | * `arr` - An array to iterate over. | 190 | * `arr` - An array to iterate over. |
| 183 | * `iterator(item, callback)` - A function to apply to each item in `arr`. | 191 | * `iterator(item, callback)` - A function to apply to each item in `arr`. |
| 184 | The iterator is passed a `callback(err)` which must be called once it has | 192 | The iterator is passed a `callback(err)` which must be called once it has |
| 185 | - completed. If no error has occured, the `callback` should be run without | 193 | + completed. If no error has occurred, the `callback` should be run without |
| 186 | arguments or with an explicit `null` argument. | 194 | arguments or with an explicit `null` argument. |
| 187 | * `callback(err)` - A callback which is called when all `iterator` functions | 195 | * `callback(err)` - A callback which is called when all `iterator` functions |
| 188 | have finished, or an error occurs. | 196 | have finished, or an error occurs. |
| @@ -202,7 +210,7 @@ async.each(openFiles, saveFile, function(err){ | @@ -202,7 +210,7 @@ async.each(openFiles, saveFile, function(err){ | ||
| 202 | ```js | 210 | ```js |
| 203 | // assuming openFiles is an array of file names | 211 | // assuming openFiles is an array of file names |
| 204 | 212 | ||
| 205 | -async.each(openFiles, function( file, callback) { | 213 | +async.each(openFiles, function(file, callback) { |
| 206 | 214 | ||
| 207 | // Perform operation on file here. | 215 | // Perform operation on file here. |
| 208 | console.log('Processing file ' + file); | 216 | console.log('Processing file ' + file); |
| @@ -256,7 +264,7 @@ __Arguments__ | @@ -256,7 +264,7 @@ __Arguments__ | ||
| 256 | * `limit` - The maximum number of `iterator`s to run at any time. | 264 | * `limit` - The maximum number of `iterator`s to run at any time. |
| 257 | * `iterator(item, callback)` - A function to apply to each item in `arr`. | 265 | * `iterator(item, callback)` - A function to apply to each item in `arr`. |
| 258 | The iterator is passed a `callback(err)` which must be called once it has | 266 | The iterator is passed a `callback(err)` which must be called once it has |
| 259 | - completed. If no error has occured, the callback should be run without | 267 | + completed. If no error has occurred, the callback should be run without |
| 260 | arguments or with an explicit `null` argument. | 268 | arguments or with an explicit `null` argument. |
| 261 | * `callback(err)` - A callback which is called when all `iterator` functions | 269 | * `callback(err)` - A callback which is called when all `iterator` functions |
| 262 | have finished, or an error occurs. | 270 | have finished, or an error occurs. |
| @@ -280,7 +288,7 @@ async.eachLimit(documents, 20, requestApi, function(err){ | @@ -280,7 +288,7 @@ async.eachLimit(documents, 20, requestApi, function(err){ | ||
| 280 | Produces a new array of values by mapping each value in `arr` through | 288 | Produces a new array of values by mapping each value in `arr` through |
| 281 | the `iterator` function. The `iterator` is called with an item from `arr` and a | 289 | the `iterator` function. The `iterator` is called with an item from `arr` and a |
| 282 | callback for when it has finished processing. Each of these callback takes 2 arguments: | 290 | callback for when it has finished processing. Each of these callback takes 2 arguments: |
| 283 | -an `error`, and the transformed item from `arr`. If `iterator` passes an error to this | 291 | +an `error`, and the transformed item from `arr`. If `iterator` passes an error to his |
| 284 | callback, the main `callback` (for the `map` function) is immediately called with the error. | 292 | callback, the main `callback` (for the `map` function) is immediately called with the error. |
| 285 | 293 | ||
| 286 | Note, that since this function applies the `iterator` to each item in parallel, | 294 | 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: | @@ -536,14 +544,14 @@ By modifying the callback parameter the sorting order can be influenced: | ||
| 536 | ```js | 544 | ```js |
| 537 | //ascending order | 545 | //ascending order |
| 538 | async.sortBy([1,9,3,5], function(x, callback){ | 546 | async.sortBy([1,9,3,5], function(x, callback){ |
| 539 | - callback(err, x); | 547 | + callback(null, x); |
| 540 | }, function(err,result){ | 548 | }, function(err,result){ |
| 541 | //result callback | 549 | //result callback |
| 542 | } ); | 550 | } ); |
| 543 | 551 | ||
| 544 | //descending order | 552 | //descending order |
| 545 | async.sortBy([1,9,3,5], function(x, callback){ | 553 | async.sortBy([1,9,3,5], function(x, callback){ |
| 546 | - callback(err, x*-1); //<- x*-1 instead of x, turns the order around | 554 | + callback(null, x*-1); //<- x*-1 instead of x, turns the order around |
| 547 | }, function(err,result){ | 555 | }, function(err,result){ |
| 548 | //result callback | 556 | //result callback |
| 549 | } ); | 557 | } ); |
| @@ -913,19 +921,19 @@ __Example__ | @@ -913,19 +921,19 @@ __Example__ | ||
| 913 | 921 | ||
| 914 | ```js | 922 | ```js |
| 915 | async.waterfall([ | 923 | async.waterfall([ |
| 916 | - function(callback){ | 924 | + function(callback) { |
| 917 | callback(null, 'one', 'two'); | 925 | callback(null, 'one', 'two'); |
| 918 | }, | 926 | }, |
| 919 | - function(arg1, arg2, callback){ | 927 | + function(arg1, arg2, callback) { |
| 920 | // arg1 now equals 'one' and arg2 now equals 'two' | 928 | // arg1 now equals 'one' and arg2 now equals 'two' |
| 921 | callback(null, 'three'); | 929 | callback(null, 'three'); |
| 922 | }, | 930 | }, |
| 923 | - function(arg1, callback){ | 931 | + function(arg1, callback) { |
| 924 | // arg1 now equals 'three' | 932 | // arg1 now equals 'three' |
| 925 | callback(null, 'done'); | 933 | callback(null, 'done'); |
| 926 | } | 934 | } |
| 927 | ], function (err, result) { | 935 | ], function (err, result) { |
| 928 | - // result now equals 'done' | 936 | + // result now equals 'done' |
| 929 | }); | 937 | }); |
| 930 | ``` | 938 | ``` |
| 931 | 939 | ||
| @@ -972,7 +980,8 @@ add1mul3(4, function (err, result) { | @@ -972,7 +980,8 @@ add1mul3(4, function (err, result) { | ||
| 972 | ### seq(fn1, fn2...) | 980 | ### seq(fn1, fn2...) |
| 973 | 981 | ||
| 974 | Version of the compose function that is more natural to read. | 982 | Version of the compose function that is more natural to read. |
| 975 | -Each following function consumes the return value of the latter function. | 983 | +Each function consumes the return value of the previous function. |
| 984 | +It is the equivalent of [`compose`](#compose) with the arguments reversed. | ||
| 976 | 985 | ||
| 977 | Each function is executed with the `this` binding of the composed function. | 986 | Each function is executed with the `this` binding of the composed function. |
| 978 | 987 | ||
| @@ -989,28 +998,20 @@ __Example__ | @@ -989,28 +998,20 @@ __Example__ | ||
| 989 | // This example uses `seq` function to avoid overnesting and error | 998 | // This example uses `seq` function to avoid overnesting and error |
| 990 | // handling clutter. | 999 | // handling clutter. |
| 991 | app.get('/cats', function(request, response) { | 1000 | app.get('/cats', function(request, response) { |
| 992 | - function handleError(err, data, callback) { | ||
| 993 | - if (err) { | ||
| 994 | - console.error(err); | ||
| 995 | - response.json({ status: 'error', message: err.message }); | ||
| 996 | - } | ||
| 997 | - else { | ||
| 998 | - callback(data); | ||
| 999 | - } | ||
| 1000 | - } | ||
| 1001 | var User = request.models.User; | 1001 | var User = request.models.User; |
| 1002 | async.seq( | 1002 | async.seq( |
| 1003 | _.bind(User.get, User), // 'User.get' has signature (id, callback(err, data)) | 1003 | _.bind(User.get, User), // 'User.get' has signature (id, callback(err, data)) |
| 1004 | - handleError, | ||
| 1005 | function(user, fn) { | 1004 | function(user, fn) { |
| 1006 | user.getCats(fn); // 'getCats' has signature (callback(err, data)) | 1005 | user.getCats(fn); // 'getCats' has signature (callback(err, data)) |
| 1007 | - }, | ||
| 1008 | - handleError, | ||
| 1009 | - function(cats) { | 1006 | + } |
| 1007 | + )(req.session.user_id, function (err, cats) { | ||
| 1008 | + if (err) { | ||
| 1009 | + console.error(err); | ||
| 1010 | + response.json({ status: 'error', message: err.message }); | ||
| 1011 | + } else { | ||
| 1010 | response.json({ status: 'ok', message: 'Cats found', data: cats }); | 1012 | response.json({ status: 'ok', message: 'Cats found', data: cats }); |
| 1011 | } | 1013 | } |
| 1012 | - )(req.session.user_id); | ||
| 1013 | - } | 1014 | + }); |
| 1014 | }); | 1015 | }); |
| 1015 | ``` | 1016 | ``` |
| 1016 | 1017 | ||
| @@ -1092,7 +1093,7 @@ methods: | @@ -1092,7 +1093,7 @@ methods: | ||
| 1092 | * `paused` - a boolean for determining whether the queue is in a paused state | 1093 | * `paused` - a boolean for determining whether the queue is in a paused state |
| 1093 | * `pause()` - a function that pauses the processing of tasks until `resume()` is called. | 1094 | * `pause()` - a function that pauses the processing of tasks until `resume()` is called. |
| 1094 | * `resume()` - a function that resumes the processing of queued tasks when the queue is paused. | 1095 | * `resume()` - a function that resumes the processing of queued tasks when the queue is paused. |
| 1095 | -* `kill()` - a function that empties remaining tasks from the queue forcing it to go idle. | 1096 | +* `kill()` - a function that removes the `drain` callback and empties remaining tasks from the queue forcing it to go idle. |
| 1096 | 1097 | ||
| 1097 | __Example__ | 1098 | __Example__ |
| 1098 | 1099 | ||
| @@ -1122,7 +1123,7 @@ q.push({name: 'bar'}, function (err) { | @@ -1122,7 +1123,7 @@ q.push({name: 'bar'}, function (err) { | ||
| 1122 | // add some items to the queue (batch-wise) | 1123 | // add some items to the queue (batch-wise) |
| 1123 | 1124 | ||
| 1124 | q.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function (err) { | 1125 | q.push([{name: 'baz'},{name: 'bay'},{name: 'bax'}], function (err) { |
| 1125 | - console.log('finished processing bar'); | 1126 | + console.log('finished processing item'); |
| 1126 | }); | 1127 | }); |
| 1127 | 1128 | ||
| 1128 | // add some items to the front of the queue | 1129 | // add some items to the front of the queue |
| @@ -1349,7 +1350,7 @@ new tasks much easier (and the code more readable). | @@ -1349,7 +1350,7 @@ new tasks much easier (and the code more readable). | ||
| 1349 | 1350 | ||
| 1350 | Attempts to get a successful response from `task` no more than `times` times before | 1351 | Attempts to get a successful response from `task` no more than `times` times before |
| 1351 | returning an error. If the task is successful, the `callback` will be passed the result | 1352 | returning an error. If the task is successful, the `callback` will be passed the result |
| 1352 | -of the successfull task. If all attemps fail, the callback will be passed the error and | 1353 | +of the successful task. If all attempts fail, the callback will be passed the error and |
| 1353 | result (if any) of the final attempt. | 1354 | result (if any) of the final attempt. |
| 1354 | 1355 | ||
| 1355 | __Arguments__ | 1356 | __Arguments__ |
| @@ -1474,7 +1475,7 @@ three | @@ -1474,7 +1475,7 @@ three | ||
| 1474 | --------------------------------------- | 1475 | --------------------------------------- |
| 1475 | 1476 | ||
| 1476 | <a name="nextTick" /> | 1477 | <a name="nextTick" /> |
| 1477 | -### nextTick(callback) | 1478 | +### nextTick(callback), setImmediate(callback) |
| 1478 | 1479 | ||
| 1479 | Calls `callback` on a later loop around the event loop. In Node.js this just | 1480 | Calls `callback` on a later loop around the event loop. In Node.js this just |
| 1480 | calls `process.nextTick`; in the browser it falls back to `setImmediate(callback)` | 1481 | calls `process.nextTick`; in the browser it falls back to `setImmediate(callback)` |
node_modules/async/component.json
| 1 | { | 1 | { |
| 2 | "name": "async", | 2 | "name": "async", |
| 3 | - "repo": "caolan/async", | ||
| 4 | "description": "Higher-order functions and common patterns for asynchronous code", | 3 | "description": "Higher-order functions and common patterns for asynchronous code", |
| 5 | - "version": "0.1.23", | ||
| 6 | - "keywords": [], | ||
| 7 | - "dependencies": {}, | ||
| 8 | - "development": {}, | ||
| 9 | - "main": "lib/async.js", | ||
| 10 | - "scripts": [ "lib/async.js" ] | ||
| 11 | -} | 4 | + "version": "0.9.2", |
| 5 | + "keywords": [ | ||
| 6 | + "async", | ||
| 7 | + "callback", | ||
| 8 | + "utility", | ||
| 9 | + "module" | ||
| 10 | + ], | ||
| 11 | + "license": "MIT", | ||
| 12 | + "repository": "caolan/async", | ||
| 13 | + "scripts": [ | ||
| 14 | + "lib/async.js" | ||
| 15 | + ] | ||
| 16 | +} | ||
| 12 | \ No newline at end of file | 17 | \ No newline at end of file |
| @@ -42,9 +42,6 @@ | @@ -42,9 +42,6 @@ | ||
| 42 | }; | 42 | }; |
| 43 | 43 | ||
| 44 | var _each = function (arr, iterator) { | 44 | var _each = function (arr, iterator) { |
| 45 | - if (arr.forEach) { | ||
| 46 | - return arr.forEach(iterator); | ||
| 47 | - } | ||
| 48 | for (var i = 0; i < arr.length; i += 1) { | 45 | for (var i = 0; i < arr.length; i += 1) { |
| 49 | iterator(arr[i], i, arr); | 46 | iterator(arr[i], i, arr); |
| 50 | } | 47 | } |
| @@ -821,23 +818,26 @@ | @@ -821,23 +818,26 @@ | ||
| 821 | pause: function () { | 818 | pause: function () { |
| 822 | if (q.paused === true) { return; } | 819 | if (q.paused === true) { return; } |
| 823 | q.paused = true; | 820 | q.paused = true; |
| 824 | - q.process(); | ||
| 825 | }, | 821 | }, |
| 826 | resume: function () { | 822 | resume: function () { |
| 827 | if (q.paused === false) { return; } | 823 | if (q.paused === false) { return; } |
| 828 | q.paused = false; | 824 | q.paused = false; |
| 829 | - q.process(); | 825 | + // Need to call q.process once per concurrent |
| 826 | + // worker to preserve full concurrency after pause | ||
| 827 | + for (var w = 1; w <= q.concurrency; w++) { | ||
| 828 | + async.setImmediate(q.process); | ||
| 829 | + } | ||
| 830 | } | 830 | } |
| 831 | }; | 831 | }; |
| 832 | return q; | 832 | return q; |
| 833 | }; | 833 | }; |
| 834 | - | 834 | + |
| 835 | async.priorityQueue = function (worker, concurrency) { | 835 | async.priorityQueue = function (worker, concurrency) { |
| 836 | - | 836 | + |
| 837 | function _compareTasks(a, b){ | 837 | function _compareTasks(a, b){ |
| 838 | return a.priority - b.priority; | 838 | return a.priority - b.priority; |
| 839 | }; | 839 | }; |
| 840 | - | 840 | + |
| 841 | function _binarySearch(sequence, item, compare) { | 841 | function _binarySearch(sequence, item, compare) { |
| 842 | var beg = -1, | 842 | var beg = -1, |
| 843 | end = sequence.length - 1; | 843 | end = sequence.length - 1; |
| @@ -851,7 +851,7 @@ | @@ -851,7 +851,7 @@ | ||
| 851 | } | 851 | } |
| 852 | return beg; | 852 | return beg; |
| 853 | } | 853 | } |
| 854 | - | 854 | + |
| 855 | function _insert(q, data, priority, callback) { | 855 | function _insert(q, data, priority, callback) { |
| 856 | if (!q.started){ | 856 | if (!q.started){ |
| 857 | q.started = true; | 857 | q.started = true; |
| @@ -873,7 +873,7 @@ | @@ -873,7 +873,7 @@ | ||
| 873 | priority: priority, | 873 | priority: priority, |
| 874 | callback: typeof callback === 'function' ? callback : null | 874 | callback: typeof callback === 'function' ? callback : null |
| 875 | }; | 875 | }; |
| 876 | - | 876 | + |
| 877 | q.tasks.splice(_binarySearch(q.tasks, item, _compareTasks) + 1, 0, item); | 877 | q.tasks.splice(_binarySearch(q.tasks, item, _compareTasks) + 1, 0, item); |
| 878 | 878 | ||
| 879 | if (q.saturated && q.tasks.length === q.concurrency) { | 879 | if (q.saturated && q.tasks.length === q.concurrency) { |
| @@ -882,15 +882,15 @@ | @@ -882,15 +882,15 @@ | ||
| 882 | async.setImmediate(q.process); | 882 | async.setImmediate(q.process); |
| 883 | }); | 883 | }); |
| 884 | } | 884 | } |
| 885 | - | 885 | + |
| 886 | // Start with a normal queue | 886 | // Start with a normal queue |
| 887 | var q = async.queue(worker, concurrency); | 887 | var q = async.queue(worker, concurrency); |
| 888 | - | 888 | + |
| 889 | // Override push to accept second parameter representing priority | 889 | // Override push to accept second parameter representing priority |
| 890 | q.push = function (data, priority, callback) { | 890 | q.push = function (data, priority, callback) { |
| 891 | _insert(q, data, priority, callback); | 891 | _insert(q, data, priority, callback); |
| 892 | }; | 892 | }; |
| 893 | - | 893 | + |
| 894 | // Remove unshift function | 894 | // Remove unshift function |
| 895 | delete q.unshift; | 895 | delete q.unshift; |
| 896 | 896 |
node_modules/async/package.json
| 1 | { | 1 | { |
| 2 | "name": "async", | 2 | "name": "async", |
| 3 | "description": "Higher-order functions and common patterns for asynchronous code", | 3 | "description": "Higher-order functions and common patterns for asynchronous code", |
| 4 | - "main": "./lib/async", | 4 | + "main": "lib/async.js", |
| 5 | "author": { | 5 | "author": { |
| 6 | "name": "Caolan McMahon" | 6 | "name": "Caolan McMahon" |
| 7 | }, | 7 | }, |
| 8 | - "version": "0.9.0", | 8 | + "version": "0.9.2", |
| 9 | + "keywords": [ | ||
| 10 | + "async", | ||
| 11 | + "callback", | ||
| 12 | + "utility", | ||
| 13 | + "module" | ||
| 14 | + ], | ||
| 9 | "repository": { | 15 | "repository": { |
| 10 | "type": "git", | 16 | "type": "git", |
| 11 | - "url": "https://github.com/caolan/async.git" | 17 | + "url": "git+https://github.com/caolan/async.git" |
| 12 | }, | 18 | }, |
| 13 | "bugs": { | 19 | "bugs": { |
| 14 | "url": "https://github.com/caolan/async/issues" | 20 | "url": "https://github.com/caolan/async/issues" |
| 15 | }, | 21 | }, |
| 16 | - "licenses": [ | ||
| 17 | - { | ||
| 18 | - "type": "MIT", | ||
| 19 | - "url": "https://github.com/caolan/async/raw/master/LICENSE" | ||
| 20 | - } | ||
| 21 | - ], | 22 | + "license": "MIT", |
| 22 | "devDependencies": { | 23 | "devDependencies": { |
| 23 | "nodeunit": ">0.0.0", | 24 | "nodeunit": ">0.0.0", |
| 24 | "uglify-js": "1.2.x", | 25 | "uglify-js": "1.2.x", |
| 25 | - "nodelint": ">0.0.0" | 26 | + "nodelint": ">0.0.0", |
| 27 | + "lodash": ">=2.4.1" | ||
| 26 | }, | 28 | }, |
| 27 | "jam": { | 29 | "jam": { |
| 28 | "main": "lib/async.js", | 30 | "main": "lib/async.js", |
| @@ -30,31 +32,53 @@ | @@ -30,31 +32,53 @@ | ||
| 30 | "lib/async.js", | 32 | "lib/async.js", |
| 31 | "README.md", | 33 | "README.md", |
| 32 | "LICENSE" | 34 | "LICENSE" |
| 35 | + ], | ||
| 36 | + "categories": [ | ||
| 37 | + "Utilities" | ||
| 33 | ] | 38 | ] |
| 34 | }, | 39 | }, |
| 35 | "scripts": { | 40 | "scripts": { |
| 36 | "test": "nodeunit test/test-async.js" | 41 | "test": "nodeunit test/test-async.js" |
| 37 | }, | 42 | }, |
| 38 | - "homepage": "https://github.com/caolan/async", | ||
| 39 | - "_id": "async@0.9.0", | ||
| 40 | - "dist": { | ||
| 41 | - "shasum": "ac3613b1da9bed1b47510bb4651b8931e47146c7", | ||
| 42 | - "tarball": "http://registry.npmjs.org/async/-/async-0.9.0.tgz" | 43 | + "spm": { |
| 44 | + "main": "lib/async.js" | ||
| 43 | }, | 45 | }, |
| 46 | + "volo": { | ||
| 47 | + "main": "lib/async.js", | ||
| 48 | + "ignore": [ | ||
| 49 | + "**/.*", | ||
| 50 | + "node_modules", | ||
| 51 | + "bower_components", | ||
| 52 | + "test", | ||
| 53 | + "tests" | ||
| 54 | + ] | ||
| 55 | + }, | ||
| 56 | + "gitHead": "de3a16091d5125384eff4a54deb3998b13c3814c", | ||
| 57 | + "homepage": "https://github.com/caolan/async#readme", | ||
| 58 | + "_id": "async@0.9.2", | ||
| 59 | + "_shasum": "aea74d5e61c1f899613bf64bda66d4c78f2fd17d", | ||
| 44 | "_from": "async@>=0.9.0 <0.10.0", | 60 | "_from": "async@>=0.9.0 <0.10.0", |
| 45 | - "_npmVersion": "1.4.3", | 61 | + "_npmVersion": "2.9.0", |
| 62 | + "_nodeVersion": "2.0.1", | ||
| 46 | "_npmUser": { | 63 | "_npmUser": { |
| 47 | - "name": "caolan", | ||
| 48 | - "email": "caolan.mcmahon@gmail.com" | 64 | + "name": "beaugunderson", |
| 65 | + "email": "beau@beaugunderson.com" | ||
| 49 | }, | 66 | }, |
| 50 | "maintainers": [ | 67 | "maintainers": [ |
| 51 | { | 68 | { |
| 52 | "name": "caolan", | 69 | "name": "caolan", |
| 53 | - "email": "caolan@caolanmcmahon.com" | 70 | + "email": "caolan.mcmahon@gmail.com" |
| 71 | + }, | ||
| 72 | + { | ||
| 73 | + "name": "beaugunderson", | ||
| 74 | + "email": "beau@beaugunderson.com" | ||
| 54 | } | 75 | } |
| 55 | ], | 76 | ], |
| 77 | + "dist": { | ||
| 78 | + "shasum": "aea74d5e61c1f899613bf64bda66d4c78f2fd17d", | ||
| 79 | + "tarball": "http://registry.npmjs.org/async/-/async-0.9.2.tgz" | ||
| 80 | + }, | ||
| 56 | "directories": {}, | 81 | "directories": {}, |
| 57 | - "_shasum": "ac3613b1da9bed1b47510bb4651b8931e47146c7", | ||
| 58 | - "_resolved": "https://registry.npmjs.org/async/-/async-0.9.0.tgz", | 82 | + "_resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", |
| 59 | "readme": "ERROR: No README data found!" | 83 | "readme": "ERROR: No README data found!" |
| 60 | } | 84 | } |
node_modules/express/node_modules/commander/node_modules/keypress/package.json
| @@ -36,5 +36,9 @@ | @@ -36,5 +36,9 @@ | ||
| 36 | "directories": {}, | 36 | "directories": {}, |
| 37 | "_shasum": "4a3188d4291b66b4f65edb99f806aa9ae293592a", | 37 | "_shasum": "4a3188d4291b66b4f65edb99f806aa9ae293592a", |
| 38 | "_resolved": "https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz", | 38 | "_resolved": "https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz", |
| 39 | - "_from": "keypress@>=0.1.0 <0.2.0" | 39 | + "_from": "keypress@>=0.1.0 <0.2.0", |
| 40 | + "bugs": { | ||
| 41 | + "url": "https://github.com/TooTallNate/keypress/issues" | ||
| 42 | + }, | ||
| 43 | + "homepage": "https://github.com/TooTallNate/keypress" | ||
| 40 | } | 44 | } |
node_modules/express/node_modules/connect/node_modules/bytes/package.json
| @@ -45,5 +45,6 @@ | @@ -45,5 +45,6 @@ | ||
| 45 | ], | 45 | ], |
| 46 | "directories": {}, | 46 | "directories": {}, |
| 47 | "_shasum": "78e2e0e28c7f9c7b988ea8aee0db4d5fa9941935", | 47 | "_shasum": "78e2e0e28c7f9c7b988ea8aee0db4d5fa9941935", |
| 48 | - "_resolved": "https://registry.npmjs.org/bytes/-/bytes-0.3.0.tgz" | 48 | + "_resolved": "https://registry.npmjs.org/bytes/-/bytes-0.3.0.tgz", |
| 49 | + "readme": "ERROR: No README data found!" | ||
| 49 | } | 50 | } |
node_modules/express/node_modules/connect/node_modules/compression/node_modules/bytes/package.json
| @@ -38,5 +38,6 @@ | @@ -38,5 +38,6 @@ | ||
| 38 | "directories": {}, | 38 | "directories": {}, |
| 39 | "_shasum": "555b08abcb063f8975905302523e4cd4ffdfdf31", | 39 | "_shasum": "555b08abcb063f8975905302523e4cd4ffdfdf31", |
| 40 | "_resolved": "https://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz", | 40 | "_resolved": "https://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz", |
| 41 | + "readme": "ERROR: No README data found!", | ||
| 41 | "scripts": {} | 42 | "scripts": {} |
| 42 | } | 43 | } |
node_modules/express/node_modules/connect/node_modules/compression/node_modules/negotiator/package.json
| @@ -53,5 +53,10 @@ | @@ -53,5 +53,10 @@ | ||
| 53 | "directories": {}, | 53 | "directories": {}, |
| 54 | "_shasum": "706d692efeddf574d57ea9fb1ab89a4fa7ee8f60", | 54 | "_shasum": "706d692efeddf574d57ea9fb1ab89a4fa7ee8f60", |
| 55 | "_resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz", | 55 | "_resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz", |
| 56 | - "_from": "negotiator@0.3.0" | 56 | + "_from": "negotiator@0.3.0", |
| 57 | + "bugs": { | ||
| 58 | + "url": "https://github.com/federomero/negotiator/issues" | ||
| 59 | + }, | ||
| 60 | + "readme": "ERROR: No README data found!", | ||
| 61 | + "homepage": "https://github.com/federomero/negotiator" | ||
| 57 | } | 62 | } |
node_modules/express/node_modules/connect/node_modules/cookie-parser/node_modules/cookie/package.json
| @@ -45,5 +45,10 @@ | @@ -45,5 +45,10 @@ | ||
| 45 | ], | 45 | ], |
| 46 | "directories": {}, | 46 | "directories": {}, |
| 47 | "_shasum": "90eb469ddce905c866de687efc43131d8801f9d0", | 47 | "_shasum": "90eb469ddce905c866de687efc43131d8801f9d0", |
| 48 | - "_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz" | 48 | + "_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz", |
| 49 | + "bugs": { | ||
| 50 | + "url": "https://github.com/shtylman/node-cookie/issues" | ||
| 51 | + }, | ||
| 52 | + "readme": "ERROR: No README data found!", | ||
| 53 | + "homepage": "https://github.com/shtylman/node-cookie" | ||
| 49 | } | 54 | } |
node_modules/express/node_modules/connect/node_modules/csurf/node_modules/scmp/package.json
| @@ -50,5 +50,6 @@ | @@ -50,5 +50,6 @@ | ||
| 50 | ], | 50 | ], |
| 51 | "directories": {}, | 51 | "directories": {}, |
| 52 | "_shasum": "3648df2d7294641e7f78673ffc29681d9bad9073", | 52 | "_shasum": "3648df2d7294641e7f78673ffc29681d9bad9073", |
| 53 | - "_resolved": "https://registry.npmjs.org/scmp/-/scmp-0.0.3.tgz" | 53 | + "_resolved": "https://registry.npmjs.org/scmp/-/scmp-0.0.3.tgz", |
| 54 | + "readme": "ERROR: No README data found!" | ||
| 54 | } | 55 | } |
node_modules/express/node_modules/connect/node_modules/express-session/node_modules/cookie/package.json
| @@ -45,5 +45,10 @@ | @@ -45,5 +45,10 @@ | ||
| 45 | ], | 45 | ], |
| 46 | "directories": {}, | 46 | "directories": {}, |
| 47 | "_shasum": "90eb469ddce905c866de687efc43131d8801f9d0", | 47 | "_shasum": "90eb469ddce905c866de687efc43131d8801f9d0", |
| 48 | - "_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz" | 48 | + "_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz", |
| 49 | + "bugs": { | ||
| 50 | + "url": "https://github.com/shtylman/node-cookie/issues" | ||
| 51 | + }, | ||
| 52 | + "readme": "ERROR: No README data found!", | ||
| 53 | + "homepage": "https://github.com/shtylman/node-cookie" | ||
| 49 | } | 54 | } |
node_modules/express/node_modules/connect/node_modules/express-session/node_modules/debug/package.json
| @@ -59,5 +59,6 @@ | @@ -59,5 +59,6 @@ | ||
| 59 | "directories": {}, | 59 | "directories": {}, |
| 60 | "_shasum": "06e1ea8082c2cb14e39806e22e2f6f757f92af39", | 60 | "_shasum": "06e1ea8082c2cb14e39806e22e2f6f757f92af39", |
| 61 | "_resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", | 61 | "_resolved": "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz", |
| 62 | - "readme": "ERROR: No README data found!" | 62 | + "readme": "ERROR: No README data found!", |
| 63 | + "scripts": {} | ||
| 63 | } | 64 | } |
node_modules/express/node_modules/connect/node_modules/express-session/node_modules/utils-merge/package.json
| @@ -30,7 +30,7 @@ | @@ -30,7 +30,7 @@ | ||
| 30 | "chai": "1.x.x" | 30 | "chai": "1.x.x" |
| 31 | }, | 31 | }, |
| 32 | "scripts": { | 32 | "scripts": { |
| 33 | - "test": "node_modules/.bin/mocha --reporter spec --require test/bootstrap/node test/*.test.js" | 33 | + "test": "mocha --reporter spec --require test/bootstrap/node test/*.test.js" |
| 34 | }, | 34 | }, |
| 35 | "engines": { | 35 | "engines": { |
| 36 | "node": ">= 0.4.0" | 36 | "node": ">= 0.4.0" |
| @@ -54,5 +54,7 @@ | @@ -54,5 +54,7 @@ | ||
| 54 | ], | 54 | ], |
| 55 | "directories": {}, | 55 | "directories": {}, |
| 56 | "_shasum": "0294fb922bb9375153541c4f7096231f287c8af8", | 56 | "_shasum": "0294fb922bb9375153541c4f7096231f287c8af8", |
| 57 | - "_resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz" | 57 | + "_resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz", |
| 58 | + "readme": "ERROR: No README data found!", | ||
| 59 | + "homepage": "https://github.com/jaredhanson/utils-merge" | ||
| 58 | } | 60 | } |
node_modules/express/node_modules/connect/node_modules/morgan/node_modules/bytes/package.json
| @@ -37,5 +37,6 @@ | @@ -37,5 +37,6 @@ | ||
| 37 | ], | 37 | ], |
| 38 | "directories": {}, | 38 | "directories": {}, |
| 39 | "_shasum": "555b08abcb063f8975905302523e4cd4ffdfdf31", | 39 | "_shasum": "555b08abcb063f8975905302523e4cd4ffdfdf31", |
| 40 | - "_resolved": "https://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz" | 40 | + "_resolved": "https://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz", |
| 41 | + "readme": "ERROR: No README data found!" | ||
| 41 | } | 42 | } |
node_modules/express/node_modules/connect/node_modules/multiparty/node_modules/stream-counter/package.json
| @@ -43,5 +43,7 @@ | @@ -43,5 +43,7 @@ | ||
| 43 | ], | 43 | ], |
| 44 | "directories": {}, | 44 | "directories": {}, |
| 45 | "_shasum": "ded266556319c8b0e222812b9cf3b26fa7d947de", | 45 | "_shasum": "ded266556319c8b0e222812b9cf3b26fa7d947de", |
| 46 | - "_resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz" | 46 | + "_resolved": "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz", |
| 47 | + "readme": "ERROR: No README data found!", | ||
| 48 | + "homepage": "https://github.com/superjoe30/node-stream-counter" | ||
| 47 | } | 49 | } |
node_modules/express/node_modules/connect/node_modules/pause/package.json
| @@ -27,6 +27,5 @@ | @@ -27,6 +27,5 @@ | ||
| 27 | "directories": {}, | 27 | "directories": {}, |
| 28 | "_shasum": "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d", | 28 | "_shasum": "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d", |
| 29 | "_resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", | 29 | "_resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", |
| 30 | - "_from": "pause@0.0.1", | ||
| 31 | - "readme": "ERROR: No README data found!" | 30 | + "_from": "pause@0.0.1" |
| 32 | } | 31 | } |
node_modules/express/node_modules/connect/node_modules/qs/package.json
| @@ -49,5 +49,7 @@ | @@ -49,5 +49,7 @@ | ||
| 49 | ], | 49 | ], |
| 50 | "directories": {}, | 50 | "directories": {}, |
| 51 | "_shasum": "6e015098ff51968b8a3c819001d5f2c89bc4b107", | 51 | "_shasum": "6e015098ff51968b8a3c819001d5f2c89bc4b107", |
| 52 | - "_resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz" | 52 | + "_resolved": "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz", |
| 53 | + "readme": "ERROR: No README data found!", | ||
| 54 | + "homepage": "https://github.com/visionmedia/node-querystring" | ||
| 53 | } | 55 | } |
node_modules/express/node_modules/connect/node_modules/raw-body/package.json
| @@ -53,5 +53,6 @@ | @@ -53,5 +53,6 @@ | ||
| 53 | ], | 53 | ], |
| 54 | "directories": {}, | 54 | "directories": {}, |
| 55 | "_shasum": "f0b5624388d031f63da07f870c86cb9ccadcb67d", | 55 | "_shasum": "f0b5624388d031f63da07f870c86cb9ccadcb67d", |
| 56 | - "_resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.4.tgz" | 56 | + "_resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.4.tgz", |
| 57 | + "readme": "ERROR: No README data found!" | ||
| 57 | } | 58 | } |
node_modules/express/node_modules/connect/node_modules/serve-index/node_modules/negotiator/package.json
| @@ -62,5 +62,6 @@ | @@ -62,5 +62,6 @@ | ||
| 62 | ], | 62 | ], |
| 63 | "directories": {}, | 63 | "directories": {}, |
| 64 | "_shasum": "8c43ea7e4c40ddfe40c3c0234c4ef77500b8fd37", | 64 | "_shasum": "8c43ea7e4c40ddfe40c3c0234c4ef77500b8fd37", |
| 65 | - "_resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.4.2.tgz" | 65 | + "_resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.4.2.tgz", |
| 66 | + "readme": "ERROR: No README data found!" | ||
| 66 | } | 67 | } |
node_modules/express/node_modules/connect/node_modules/serve-static/node_modules/parseurl/package.json
| @@ -36,5 +36,6 @@ | @@ -36,5 +36,6 @@ | ||
| 36 | ], | 36 | ], |
| 37 | "directories": {}, | 37 | "directories": {}, |
| 38 | "_shasum": "2e57dce6efdd37c3518701030944c22bf388b7b4", | 38 | "_shasum": "2e57dce6efdd37c3518701030944c22bf388b7b4", |
| 39 | - "_resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.0.1.tgz" | 39 | + "_resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.0.1.tgz", |
| 40 | + "readme": "ERROR: No README data found!" | ||
| 40 | } | 41 | } |
node_modules/express/node_modules/connect/node_modules/serve-static/package.json
| @@ -66,5 +66,6 @@ | @@ -66,5 +66,6 @@ | ||
| 66 | ], | 66 | ], |
| 67 | "directories": {}, | 67 | "directories": {}, |
| 68 | "_shasum": "454dfa05bb3ddd4e701a8915b83a278aa91c5643", | 68 | "_shasum": "454dfa05bb3ddd4e701a8915b83a278aa91c5643", |
| 69 | - "_resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.1.0.tgz" | 69 | + "_resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.1.0.tgz", |
| 70 | + "readme": "ERROR: No README data found!" | ||
| 70 | } | 71 | } |
node_modules/express/node_modules/connect/node_modules/setimmediate/package.json
| @@ -97,5 +97,7 @@ | @@ -97,5 +97,7 @@ | ||
| 97 | "directories": {}, | 97 | "directories": {}, |
| 98 | "_shasum": "a9ca56ccbd6a4c3334855f060abcdece5c42ebb7", | 98 | "_shasum": "a9ca56ccbd6a4c3334855f060abcdece5c42ebb7", |
| 99 | "_resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.1.tgz", | 99 | "_resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.1.tgz", |
| 100 | - "_from": "setimmediate@1.0.1" | 100 | + "_from": "setimmediate@1.0.1", |
| 101 | + "readme": "ERROR: No README data found!", | ||
| 102 | + "homepage": "https://github.com/NobleJS/setImmediate" | ||
| 101 | } | 103 | } |
node_modules/express/node_modules/cookie-signature/package.json
| @@ -44,5 +44,6 @@ | @@ -44,5 +44,6 @@ | ||
| 44 | ], | 44 | ], |
| 45 | "directories": {}, | 45 | "directories": {}, |
| 46 | "_shasum": "91cd997cc51fb641595738c69cda020328f50ff9", | 46 | "_shasum": "91cd997cc51fb641595738c69cda020328f50ff9", |
| 47 | - "_resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz" | 47 | + "_resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz", |
| 48 | + "readme": "ERROR: No README data found!" | ||
| 48 | } | 49 | } |
node_modules/express/node_modules/cookie/package.json
| @@ -49,5 +49,6 @@ | @@ -49,5 +49,6 @@ | ||
| 49 | ], | 49 | ], |
| 50 | "directories": {}, | 50 | "directories": {}, |
| 51 | "_shasum": "72fec3d24e48a3432073d90c12642005061004b1", | 51 | "_shasum": "72fec3d24e48a3432073d90c12642005061004b1", |
| 52 | - "_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz" | 52 | + "_resolved": "https://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz", |
| 53 | + "readme": "ERROR: No README data found!" | ||
| 53 | } | 54 | } |
node_modules/express/node_modules/debug/package.json
| @@ -56,5 +56,6 @@ | @@ -56,5 +56,6 @@ | ||
| 56 | ], | 56 | ], |
| 57 | "directories": {}, | 57 | "directories": {}, |
| 58 | "_shasum": "20ff4d26f5e422cb68a1bacbbb61039ad8c1c130", | 58 | "_shasum": "20ff4d26f5e422cb68a1bacbbb61039ad8c1c130", |
| 59 | - "_resolved": "https://registry.npmjs.org/debug/-/debug-0.8.1.tgz" | 59 | + "_resolved": "https://registry.npmjs.org/debug/-/debug-0.8.1.tgz", |
| 60 | + "readme": "ERROR: No README data found!" | ||
| 60 | } | 61 | } |
node_modules/express/node_modules/fresh/package.json
| @@ -46,5 +46,6 @@ | @@ -46,5 +46,6 @@ | ||
| 46 | ], | 46 | ], |
| 47 | "directories": {}, | 47 | "directories": {}, |
| 48 | "_shasum": "9731dcf5678c7faeb44fb903c4f72df55187fa77", | 48 | "_shasum": "9731dcf5678c7faeb44fb903c4f72df55187fa77", |
| 49 | - "_resolved": "https://registry.npmjs.org/fresh/-/fresh-0.2.2.tgz" | 49 | + "_resolved": "https://registry.npmjs.org/fresh/-/fresh-0.2.2.tgz", |
| 50 | + "readme": "ERROR: No README data found!" | ||
| 50 | } | 51 | } |
node_modules/express/node_modules/merge-descriptors/package.json
| @@ -38,5 +38,6 @@ | @@ -38,5 +38,6 @@ | ||
| 38 | ], | 38 | ], |
| 39 | "directories": {}, | 39 | "directories": {}, |
| 40 | "_shasum": "c36a52a781437513c57275f39dd9d317514ac8c7", | 40 | "_shasum": "c36a52a781437513c57275f39dd9d317514ac8c7", |
| 41 | - "_resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.2.tgz" | 41 | + "_resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.2.tgz", |
| 42 | + "readme": "ERROR: No README data found!" | ||
| 42 | } | 43 | } |
node_modules/express/node_modules/mkdirp/package.json
| @@ -49,5 +49,6 @@ | @@ -49,5 +49,6 @@ | ||
| 49 | ], | 49 | ], |
| 50 | "directories": {}, | 50 | "directories": {}, |
| 51 | "_shasum": "291ac2a2d43a19c478662577b5be846fe83b5923", | 51 | "_shasum": "291ac2a2d43a19c478662577b5be846fe83b5923", |
| 52 | - "_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.4.0.tgz" | 52 | + "_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.4.0.tgz", |
| 53 | + "readme": "ERROR: No README data found!" | ||
| 53 | } | 54 | } |
node_modules/express/node_modules/range-parser/package.json
| @@ -45,5 +45,7 @@ | @@ -45,5 +45,7 @@ | ||
| 45 | ], | 45 | ], |
| 46 | "directories": {}, | 46 | "directories": {}, |
| 47 | "_shasum": "a4b264cfe0be5ce36abe3765ac9c2a248746dbc0", | 47 | "_shasum": "a4b264cfe0be5ce36abe3765ac9c2a248746dbc0", |
| 48 | - "_resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz" | 48 | + "_resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz", |
| 49 | + "readme": "ERROR: No README data found!", | ||
| 50 | + "homepage": "https://github.com/visionmedia/node-range-parser" | ||
| 49 | } | 51 | } |
node_modules/express/node_modules/send/node_modules/debug/package.json
| @@ -51,5 +51,6 @@ | @@ -51,5 +51,6 @@ | ||
| 51 | ], | 51 | ], |
| 52 | "directories": {}, | 52 | "directories": {}, |
| 53 | "_shasum": "0541ea91f0e503fdf0c5eed418a32550234967f0", | 53 | "_shasum": "0541ea91f0e503fdf0c5eed418a32550234967f0", |
| 54 | - "_resolved": "https://registry.npmjs.org/debug/-/debug-0.8.0.tgz" | 54 | + "_resolved": "https://registry.npmjs.org/debug/-/debug-0.8.0.tgz", |
| 55 | + "readme": "ERROR: No README data found!" | ||
| 55 | } | 56 | } |
node_modules/express/node_modules/send/node_modules/mime/package.json
| @@ -51,5 +51,8 @@ | @@ -51,5 +51,8 @@ | ||
| 51 | ], | 51 | ], |
| 52 | "directories": {}, | 52 | "directories": {}, |
| 53 | "_shasum": "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10", | 53 | "_shasum": "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10", |
| 54 | - "_resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz" | 54 | + "_resolved": "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz", |
| 55 | + "readme": "ERROR: No README data found!", | ||
| 56 | + "homepage": "https://github.com/broofa/node-mime", | ||
| 57 | + "scripts": {} | ||
| 55 | } | 58 | } |
node_modules/express/node_modules/send/package.json
| @@ -59,5 +59,6 @@ | @@ -59,5 +59,6 @@ | ||
| 59 | ], | 59 | ], |
| 60 | "directories": {}, | 60 | "directories": {}, |
| 61 | "_shasum": "9718324634806fc75bc4f8f5e51f57d9d66606e7", | 61 | "_shasum": "9718324634806fc75bc4f8f5e51f57d9d66606e7", |
| 62 | - "_resolved": "https://registry.npmjs.org/send/-/send-0.3.0.tgz" | 62 | + "_resolved": "https://registry.npmjs.org/send/-/send-0.3.0.tgz", |
| 63 | + "readme": "ERROR: No README data found!" | ||
| 63 | } | 64 | } |
node_modules/express/package.json
| @@ -111,5 +111,6 @@ | @@ -111,5 +111,6 @@ | ||
| 111 | ], | 111 | ], |
| 112 | "directories": {}, | 112 | "directories": {}, |
| 113 | "_shasum": "af440e1ddad078934ec78241420b40bbc56dc2ad", | 113 | "_shasum": "af440e1ddad078934ec78241420b40bbc56dc2ad", |
| 114 | - "_resolved": "https://registry.npmjs.org/express/-/express-3.5.3.tgz" | 114 | + "_resolved": "https://registry.npmjs.org/express/-/express-3.5.3.tgz", |
| 115 | + "readme": "ERROR: No README data found!" | ||
| 115 | } | 116 | } |
node_modules/ip/README.md
| @@ -4,7 +4,7 @@ IP address utilities for node.js | @@ -4,7 +4,7 @@ IP address utilities for node.js | ||
| 4 | ## Usage | 4 | ## Usage |
| 5 | Get your ip address, compare ip addresses, validate ip addresses, etc. | 5 | Get your ip address, compare ip addresses, validate ip addresses, etc. |
| 6 | 6 | ||
| 7 | -``` | 7 | +```js |
| 8 | var ip = require('ip'); | 8 | var ip = require('ip'); |
| 9 | 9 | ||
| 10 | ip.address() // my ip address | 10 | ip.address() // my ip address |
node_modules/ip/lib/ip.js
| 1 | -var ip = exports, | ||
| 2 | - Buffer = require('buffer').Buffer, | ||
| 3 | - os = require('os'); | 1 | +'use strict'; |
| 2 | + | ||
| 3 | +var ip = exports; | ||
| 4 | +var Buffer = require('buffer').Buffer; | ||
| 5 | +var os = require('os'); | ||
| 4 | 6 | ||
| 5 | ip.toBuffer = function toBuffer(ip, buff, offset) { | 7 | ip.toBuffer = function toBuffer(ip, buff, offset) { |
| 6 | offset = ~~offset; | 8 | offset = ~~offset; |
| 7 | 9 | ||
| 8 | var result; | 10 | var result; |
| 9 | 11 | ||
| 12 | + if (/^::ffff:(\d{1,3}\.){3,3}\d{1,3}$/.test(ip)) { | ||
| 13 | + ip = ip.replace(/^::ffff:/, ''); | ||
| 14 | + } | ||
| 15 | + | ||
| 10 | if (/^(\d{1,3}\.){3,3}\d{1,3}$/.test(ip)) { | 16 | if (/^(\d{1,3}\.){3,3}\d{1,3}$/.test(ip)) { |
| 11 | result = buff || new Buffer(offset + 4); | 17 | result = buff || new Buffer(offset + 4); |
| 12 | ip.split(/\./g).map(function(byte) { | 18 | ip.split(/\./g).map(function(byte) { |
| 13 | result[offset++] = parseInt(byte, 10) & 0xff; | 19 | result[offset++] = parseInt(byte, 10) & 0xff; |
| 14 | }); | 20 | }); |
| 15 | } else if (/^[a-f0-9:]+$/.test(ip)) { | 21 | } else if (/^[a-f0-9:]+$/.test(ip)) { |
| 16 | - var s = ip.split(/::/g, 2), | ||
| 17 | - head = (s[0] || '').split(/:/g, 8), | ||
| 18 | - tail = (s[1] || '').split(/:/g, 8); | 22 | + var s = ip.split(/::/g, 2); |
| 23 | + var head = (s[0] || '').split(/:/g, 8); | ||
| 24 | + var tail = (s[1] || '').split(/:/g, 8); | ||
| 19 | 25 | ||
| 20 | if (tail.length === 0) { | 26 | if (tail.length === 0) { |
| 21 | // xxxx:: | 27 | // xxxx:: |
| @@ -65,6 +71,10 @@ ip.toString = function toString(buff, offset, length) { | @@ -65,6 +71,10 @@ ip.toString = function toString(buff, offset, length) { | ||
| 65 | return result; | 71 | return result; |
| 66 | }; | 72 | }; |
| 67 | 73 | ||
| 74 | +function _normalizeFamily(family) { | ||
| 75 | + return family ? family.toLowerCase() : 'ipv4'; | ||
| 76 | +} | ||
| 77 | + | ||
| 68 | ip.fromPrefixLen = function fromPrefixLen(prefixlen, family) { | 78 | ip.fromPrefixLen = function fromPrefixLen(prefixlen, family) { |
| 69 | if (prefixlen > 32) { | 79 | if (prefixlen > 32) { |
| 70 | family = 'ipv6'; | 80 | family = 'ipv6'; |
| @@ -128,14 +138,14 @@ ip.mask = function mask(addr, mask) { | @@ -128,14 +138,14 @@ ip.mask = function mask(addr, mask) { | ||
| 128 | ip.cidr = function cidr(cidrString) { | 138 | ip.cidr = function cidr(cidrString) { |
| 129 | var cidrParts = cidrString.split('/'); | 139 | var cidrParts = cidrString.split('/'); |
| 130 | 140 | ||
| 131 | - if (cidrParts.length != 2) | 141 | + var addr = cidrParts[0]; |
| 142 | + if (cidrParts.length !== 2) | ||
| 132 | throw new Error('invalid CIDR subnet: ' + addr); | 143 | throw new Error('invalid CIDR subnet: ' + addr); |
| 133 | 144 | ||
| 134 | - var addr = cidrParts[0]; | ||
| 135 | var mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10)); | 145 | var mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10)); |
| 136 | 146 | ||
| 137 | return ip.mask(addr, mask); | 147 | return ip.mask(addr, mask); |
| 138 | -} | 148 | +}; |
| 139 | 149 | ||
| 140 | ip.subnet = function subnet(addr, mask) { | 150 | ip.subnet = function subnet(addr, mask) { |
| 141 | var networkAddress = ip.toLong(ip.mask(addr, mask)); | 151 | var networkAddress = ip.toLong(ip.mask(addr, mask)); |
| @@ -145,7 +155,7 @@ ip.subnet = function subnet(addr, mask) { | @@ -145,7 +155,7 @@ ip.subnet = function subnet(addr, mask) { | ||
| 145 | var maskLength = 0; | 155 | var maskLength = 0; |
| 146 | 156 | ||
| 147 | for (var i = 0; i < maskBuffer.length; i++) { | 157 | for (var i = 0; i < maskBuffer.length; i++) { |
| 148 | - if (maskBuffer[i] == 0xff) { | 158 | + if (maskBuffer[i] === 0xff) { |
| 149 | maskLength += 8; | 159 | maskLength += 8; |
| 150 | } else { | 160 | } else { |
| 151 | var octet = maskBuffer[i] & 0xff; | 161 | var octet = maskBuffer[i] & 0xff; |
| @@ -173,19 +183,19 @@ ip.subnet = function subnet(addr, mask) { | @@ -173,19 +183,19 @@ ip.subnet = function subnet(addr, mask) { | ||
| 173 | numberOfAddresses : numberOfAddresses - 2, | 183 | numberOfAddresses : numberOfAddresses - 2, |
| 174 | length: numberOfAddresses | 184 | length: numberOfAddresses |
| 175 | }; | 185 | }; |
| 176 | -} | 186 | +}; |
| 177 | 187 | ||
| 178 | ip.cidrSubnet = function cidrSubnet(cidrString) { | 188 | ip.cidrSubnet = function cidrSubnet(cidrString) { |
| 179 | var cidrParts = cidrString.split('/'); | 189 | var cidrParts = cidrString.split('/'); |
| 180 | 190 | ||
| 191 | + var addr = cidrParts[0]; | ||
| 181 | if (cidrParts.length !== 2) | 192 | if (cidrParts.length !== 2) |
| 182 | throw new Error('invalid CIDR subnet: ' + addr); | 193 | throw new Error('invalid CIDR subnet: ' + addr); |
| 183 | 194 | ||
| 184 | - var addr = cidrParts[0]; | ||
| 185 | var mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10)); | 195 | var mask = ip.fromPrefixLen(parseInt(cidrParts[1], 10)); |
| 186 | 196 | ||
| 187 | return ip.subnet(addr, mask); | 197 | return ip.subnet(addr, mask); |
| 188 | -} | 198 | +}; |
| 189 | 199 | ||
| 190 | ip.not = function not(addr) { | 200 | ip.not = function not(addr) { |
| 191 | var buff = ip.toBuffer(addr); | 201 | var buff = ip.toBuffer(addr); |
| @@ -200,7 +210,7 @@ ip.or = function or(a, b) { | @@ -200,7 +210,7 @@ ip.or = function or(a, b) { | ||
| 200 | b = ip.toBuffer(b); | 210 | b = ip.toBuffer(b); |
| 201 | 211 | ||
| 202 | // same protocol | 212 | // same protocol |
| 203 | - if (a.length == b.length) { | 213 | + if (a.length === b.length) { |
| 204 | for (var i = 0; i < a.length; ++i) { | 214 | for (var i = 0; i < a.length; ++i) { |
| 205 | a[i] |= b[i]; | 215 | a[i] |= b[i]; |
| 206 | } | 216 | } |
| @@ -259,25 +269,26 @@ ip.isEqual = function isEqual(a, b) { | @@ -259,25 +269,26 @@ ip.isEqual = function isEqual(a, b) { | ||
| 259 | }; | 269 | }; |
| 260 | 270 | ||
| 261 | ip.isPrivate = function isPrivate(addr) { | 271 | ip.isPrivate = function isPrivate(addr) { |
| 262 | - return addr.match(/^10\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/) != null || | ||
| 263 | - addr.match(/^192\.168\.([0-9]{1,3})\.([0-9]{1,3})/) != null || | ||
| 264 | - addr.match( | ||
| 265 | - /^172\.(1[6-9]|2\d|30|31)\.([0-9]{1,3})\.([0-9]{1,3})/) != null || | ||
| 266 | - addr.match(/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/) != null || | ||
| 267 | - addr.match(/^169\.254\.([0-9]{1,3})\.([0-9]{1,3})/) != null || | ||
| 268 | - addr.match(/^fc00:/) != null || addr.match(/^fe80:/) != null || | ||
| 269 | - addr.match(/^::1$/) != null || addr.match(/^::$/) != null; | 272 | + return /^10\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/.test(addr) || |
| 273 | + /^192\.168\.([0-9]{1,3})\.([0-9]{1,3})/.test(addr) || | ||
| 274 | + /^172\.(1[6-9]|2\d|30|31)\.([0-9]{1,3})\.([0-9]{1,3})/.test(addr) || | ||
| 275 | + /^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})/.test(addr) || | ||
| 276 | + /^169\.254\.([0-9]{1,3})\.([0-9]{1,3})/.test(addr) || | ||
| 277 | + /^fc00:/.test(addr) || | ||
| 278 | + /^fe80:/.test(addr) || | ||
| 279 | + /^::1$/.test(addr) || | ||
| 280 | + /^::$/.test(addr); | ||
| 270 | }; | 281 | }; |
| 271 | 282 | ||
| 272 | ip.isPublic = function isPublic(addr) { | 283 | ip.isPublic = function isPublic(addr) { |
| 273 | return !ip.isPrivate(addr); | 284 | return !ip.isPrivate(addr); |
| 274 | -} | 285 | +}; |
| 275 | 286 | ||
| 276 | ip.isLoopback = function isLoopback(addr) { | 287 | ip.isLoopback = function isLoopback(addr) { |
| 277 | - return /^127\.0\.0\.1$/.test(addr) | ||
| 278 | - || /^fe80::1$/.test(addr) | ||
| 279 | - || /^::1$/.test(addr) | ||
| 280 | - || /^::$/.test(addr); | 288 | + return /^127\.\d+\.\d+\.\d+$/.test(addr) || |
| 289 | + /^fe80::1$/.test(addr) || | ||
| 290 | + /^::1$/.test(addr) || | ||
| 291 | + /^::$/.test(addr); | ||
| 281 | }; | 292 | }; |
| 282 | 293 | ||
| 283 | ip.loopback = function loopback(family) { | 294 | ip.loopback = function loopback(family) { |
| @@ -290,9 +301,7 @@ ip.loopback = function loopback(family) { | @@ -290,9 +301,7 @@ ip.loopback = function loopback(family) { | ||
| 290 | throw new Error('family must be ipv4 or ipv6'); | 301 | throw new Error('family must be ipv4 or ipv6'); |
| 291 | } | 302 | } |
| 292 | 303 | ||
| 293 | - return family === 'ipv4' | ||
| 294 | - ? '127.0.0.1' | ||
| 295 | - : 'fe80::1'; | 304 | + return family === 'ipv4' ? '127.0.0.1' : 'fe80::1'; |
| 296 | }; | 305 | }; |
| 297 | 306 | ||
| 298 | // | 307 | // |
| @@ -311,8 +320,8 @@ ip.loopback = function loopback(family) { | @@ -311,8 +320,8 @@ ip.loopback = function loopback(family) { | ||
| 311 | // * undefined: First address with `ipv4` or loopback addres `127.0.0.1`. | 320 | // * undefined: First address with `ipv4` or loopback addres `127.0.0.1`. |
| 312 | // | 321 | // |
| 313 | ip.address = function address(name, family) { | 322 | ip.address = function address(name, family) { |
| 314 | - var interfaces = os.networkInterfaces(), | ||
| 315 | - all; | 323 | + var interfaces = os.networkInterfaces(); |
| 324 | + var all; | ||
| 316 | 325 | ||
| 317 | // | 326 | // |
| 318 | // Default to `ipv4` | 327 | // Default to `ipv4` |
| @@ -323,11 +332,14 @@ ip.address = function address(name, family) { | @@ -323,11 +332,14 @@ ip.address = function address(name, family) { | ||
| 323 | // If a specific network interface has been named, | 332 | // If a specific network interface has been named, |
| 324 | // return the address. | 333 | // return the address. |
| 325 | // | 334 | // |
| 326 | - if (name && !~['public', 'private'].indexOf(name)) { | ||
| 327 | - return interfaces[name].filter(function (details) { | ||
| 328 | - details.family = details.family.toLowerCase(); | ||
| 329 | - return details.family === family; | ||
| 330 | - })[0].address; | 335 | + if (name && name !== 'private' && name !== 'public') { |
| 336 | + var res = interfaces[name].filter(function(details) { | ||
| 337 | + var itemFamily = details.family.toLowerCase(); | ||
| 338 | + return itemFamily === family; | ||
| 339 | + }); | ||
| 340 | + if (res.length === 0) | ||
| 341 | + return undefined; | ||
| 342 | + return res[0].address; | ||
| 331 | } | 343 | } |
| 332 | 344 | ||
| 333 | var all = Object.keys(interfaces).map(function (nic) { | 345 | var all = Object.keys(interfaces).map(function (nic) { |
| @@ -339,42 +351,32 @@ ip.address = function address(name, family) { | @@ -339,42 +351,32 @@ ip.address = function address(name, family) { | ||
| 339 | details.family = details.family.toLowerCase(); | 351 | details.family = details.family.toLowerCase(); |
| 340 | if (details.family !== family || ip.isLoopback(details.address)) { | 352 | if (details.family !== family || ip.isLoopback(details.address)) { |
| 341 | return false; | 353 | return false; |
| 342 | - } | ||
| 343 | - else if (!name) { | 354 | + } else if (!name) { |
| 344 | return true; | 355 | return true; |
| 345 | } | 356 | } |
| 346 | 357 | ||
| 347 | - return name === 'public' | ||
| 348 | - ? !ip.isPrivate(details.address) | ||
| 349 | - : ip.isPrivate(details.address) | 358 | + return name === 'public' ? !ip.isPrivate(details.address) : |
| 359 | + ip.isPrivate(details.address); | ||
| 350 | }); | 360 | }); |
| 351 | 361 | ||
| 352 | - return addresses.length | ||
| 353 | - ? addresses[0].address | ||
| 354 | - : undefined; | 362 | + return addresses.length ? addresses[0].address : undefined; |
| 355 | }).filter(Boolean); | 363 | }).filter(Boolean); |
| 356 | 364 | ||
| 357 | - return !all.length | ||
| 358 | - ? ip.loopback(family) | ||
| 359 | - : all[0]; | 365 | + return !all.length ? ip.loopback(family) : all[0]; |
| 360 | }; | 366 | }; |
| 361 | 367 | ||
| 362 | -ip.toLong = function toInt(ip){ | ||
| 363 | - var ipl=0; | ||
| 364 | - ip.split('.').forEach(function( octet ) { | ||
| 365 | - ipl<<=8; | ||
| 366 | - ipl+=parseInt(octet); | 368 | +ip.toLong = function toInt(ip) { |
| 369 | + var ipl = 0; | ||
| 370 | + ip.split('.').forEach(function(octet) { | ||
| 371 | + ipl <<= 8; | ||
| 372 | + ipl += parseInt(octet); | ||
| 367 | }); | 373 | }); |
| 368 | - return(ipl >>>0); | 374 | + return(ipl >>> 0); |
| 369 | }; | 375 | }; |
| 370 | 376 | ||
| 371 | -ip.fromLong = function fromInt(ipl){ | ||
| 372 | - return ( (ipl>>>24) +'.' + | ||
| 373 | - (ipl>>16 & 255) +'.' + | ||
| 374 | - (ipl>>8 & 255) +'.' + | 377 | +ip.fromLong = function fromInt(ipl) { |
| 378 | + return ((ipl >>> 24) + '.' + | ||
| 379 | + (ipl >> 16 & 255) + '.' + | ||
| 380 | + (ipl >> 8 & 255) + '.' + | ||
| 375 | (ipl & 255) ); | 381 | (ipl & 255) ); |
| 376 | }; | 382 | }; |
| 377 | - | ||
| 378 | -function _normalizeFamily(family) { | ||
| 379 | - return family ? family.toLowerCase() : 'ipv4'; | ||
| 380 | -} |
node_modules/ip/package.json
| 1 | { | 1 | { |
| 2 | "name": "ip", | 2 | "name": "ip", |
| 3 | - "version": "0.3.3", | 3 | + "version": "1.0.1", |
| 4 | "author": { | 4 | "author": { |
| 5 | "name": "Fedor Indutny", | 5 | "name": "Fedor Indutny", |
| 6 | "email": "fedor@indutny.com" | 6 | "email": "fedor@indutny.com" |
| @@ -12,22 +12,24 @@ | @@ -12,22 +12,24 @@ | ||
| 12 | }, | 12 | }, |
| 13 | "main": "lib/ip", | 13 | "main": "lib/ip", |
| 14 | "devDependencies": { | 14 | "devDependencies": { |
| 15 | + "jscs": "^2.1.1", | ||
| 16 | + "jshint": "^2.8.0", | ||
| 15 | "mocha": "~1.3.2" | 17 | "mocha": "~1.3.2" |
| 16 | }, | 18 | }, |
| 17 | "scripts": { | 19 | "scripts": { |
| 18 | - "test": "mocha --reporter spec test/*-test.js" | 20 | + "test": "jscs lib/*.js test/*.js && jshint lib/*.js && mocha --reporter spec test/*-test.js" |
| 19 | }, | 21 | }, |
| 20 | "license": "MIT", | 22 | "license": "MIT", |
| 21 | - "gitHead": "7798e2d222718087863d8a5a99e3c02f3a30e2b9", | 23 | + "gitHead": "5fa3ae74c70f2af2f3bc1b8784685c5bc004d468", |
| 22 | "description": "IP address utilities for node.js", | 24 | "description": "IP address utilities for node.js", |
| 23 | "bugs": { | 25 | "bugs": { |
| 24 | "url": "https://github.com/indutny/node-ip/issues" | 26 | "url": "https://github.com/indutny/node-ip/issues" |
| 25 | }, | 27 | }, |
| 26 | - "_id": "ip@0.3.3", | ||
| 27 | - "_shasum": "8ee8309e92f0b040d287f72efaca1a21702d3fb4", | 28 | + "_id": "ip@1.0.1", |
| 29 | + "_shasum": "c7e356cdea225ae71b36d70f2e71a92ba4e42590", | ||
| 28 | "_from": "ip@latest", | 30 | "_from": "ip@latest", |
| 29 | - "_npmVersion": "2.9.0", | ||
| 30 | - "_nodeVersion": "2.0.0", | 31 | + "_npmVersion": "2.14.2", |
| 32 | + "_nodeVersion": "4.0.0", | ||
| 31 | "_npmUser": { | 33 | "_npmUser": { |
| 32 | "name": "indutny", | 34 | "name": "indutny", |
| 33 | "email": "fedor@indutny.com" | 35 | "email": "fedor@indutny.com" |
| @@ -47,9 +49,10 @@ | @@ -47,9 +49,10 @@ | ||
| 47 | } | 49 | } |
| 48 | ], | 50 | ], |
| 49 | "dist": { | 51 | "dist": { |
| 50 | - "shasum": "8ee8309e92f0b040d287f72efaca1a21702d3fb4", | ||
| 51 | - "tarball": "http://registry.npmjs.org/ip/-/ip-0.3.3.tgz" | 52 | + "shasum": "c7e356cdea225ae71b36d70f2e71a92ba4e42590", |
| 53 | + "tarball": "http://registry.npmjs.org/ip/-/ip-1.0.1.tgz" | ||
| 52 | }, | 54 | }, |
| 53 | "directories": {}, | 55 | "directories": {}, |
| 54 | - "_resolved": "https://registry.npmjs.org/ip/-/ip-0.3.3.tgz" | 56 | + "_resolved": "https://registry.npmjs.org/ip/-/ip-1.0.1.tgz", |
| 57 | + "readme": "ERROR: No README data found!" | ||
| 55 | } | 58 | } |
node_modules/ip/test/api-test.js
| 1 | -var ip = require('..'), | ||
| 2 | - assert = require('assert'), | ||
| 3 | - net = require('net'), | ||
| 4 | - os = require('os'); | 1 | +'use strict'; |
| 2 | + | ||
| 3 | +var ip = require('..'); | ||
| 4 | +var assert = require('assert'); | ||
| 5 | +var net = require('net'); | ||
| 6 | +var os = require('os'); | ||
| 5 | 7 | ||
| 6 | describe('IP library for node.js', function() { | 8 | describe('IP library for node.js', function() { |
| 7 | describe('toBuffer()/toString() methods', function() { | 9 | describe('toBuffer()/toString() methods', function() { |
| @@ -38,6 +40,12 @@ describe('IP library for node.js', function() { | @@ -38,6 +40,12 @@ describe('IP library for node.js', function() { | ||
| 38 | assert.equal(ip.toString(ip.toBuffer('abcd::dcba', buf, offset), | 40 | assert.equal(ip.toString(ip.toBuffer('abcd::dcba', buf, offset), |
| 39 | offset, 16), 'abcd::dcba'); | 41 | offset, 16), 'abcd::dcba'); |
| 40 | }); | 42 | }); |
| 43 | + | ||
| 44 | + it('should convert to buffer IPv6 mapped IPv4 address', function() { | ||
| 45 | + var buf = ip.toBuffer('::ffff:127.0.0.1'); | ||
| 46 | + assert.equal(buf.toString('hex'), '7f000001'); | ||
| 47 | + assert.equal(ip.toString(buf), '127.0.0.1'); | ||
| 48 | + }); | ||
| 41 | }); | 49 | }); |
| 42 | 50 | ||
| 43 | describe('fromPrefixLen() method', function() { | 51 | describe('fromPrefixLen() method', function() { |
| @@ -198,6 +206,8 @@ describe('IP library for node.js', function() { | @@ -198,6 +206,8 @@ describe('IP library for node.js', function() { | ||
| 198 | assert(!ip.isEqual('127.0.0.1', '::7f00:2')); | 206 | assert(!ip.isEqual('127.0.0.1', '::7f00:2')); |
| 199 | assert(ip.isEqual('127.0.0.1', '::ffff:7f00:1')); | 207 | assert(ip.isEqual('127.0.0.1', '::ffff:7f00:1')); |
| 200 | assert(!ip.isEqual('127.0.0.1', '::ffaf:7f00:1')); | 208 | assert(!ip.isEqual('127.0.0.1', '::ffaf:7f00:1')); |
| 209 | + assert(ip.isEqual('::ffff:127.0.0.1', '::ffff:127.0.0.1')); | ||
| 210 | + assert(ip.isEqual('::ffff:127.0.0.1', '127.0.0.1')); | ||
| 201 | }); | 211 | }); |
| 202 | }); | 212 | }); |
| 203 | 213 | ||
| @@ -249,69 +259,75 @@ describe('IP library for node.js', function() { | @@ -249,69 +259,75 @@ describe('IP library for node.js', function() { | ||
| 249 | }); | 259 | }); |
| 250 | }); | 260 | }); |
| 251 | 261 | ||
| 252 | - describe('loopback() method', function () { | ||
| 253 | - describe('undefined', function () { | ||
| 254 | - it('should respond with 127.0.0.1', function () { | 262 | + describe('loopback() method', function() { |
| 263 | + describe('undefined', function() { | ||
| 264 | + it('should respond with 127.0.0.1', function() { | ||
| 255 | assert.equal(ip.loopback(), '127.0.0.1') | 265 | assert.equal(ip.loopback(), '127.0.0.1') |
| 256 | }); | 266 | }); |
| 257 | }); | 267 | }); |
| 258 | 268 | ||
| 259 | - describe('ipv4', function () { | ||
| 260 | - it('should respond with 127.0.0.1', function () { | 269 | + describe('ipv4', function() { |
| 270 | + it('should respond with 127.0.0.1', function() { | ||
| 261 | assert.equal(ip.loopback('ipv4'), '127.0.0.1') | 271 | assert.equal(ip.loopback('ipv4'), '127.0.0.1') |
| 262 | }); | 272 | }); |
| 263 | }); | 273 | }); |
| 264 | 274 | ||
| 265 | - describe('ipv6', function () { | ||
| 266 | - it('should respond with fe80::1', function () { | 275 | + describe('ipv6', function() { |
| 276 | + it('should respond with fe80::1', function() { | ||
| 267 | assert.equal(ip.loopback('ipv6'), 'fe80::1') | 277 | assert.equal(ip.loopback('ipv6'), 'fe80::1') |
| 268 | }); | 278 | }); |
| 269 | }); | 279 | }); |
| 270 | }); | 280 | }); |
| 271 | 281 | ||
| 272 | - describe('isLoopback() method', function () { | ||
| 273 | - describe('127.0.0.1', function () { | ||
| 274 | - it('should respond with true', function () { | 282 | + describe('isLoopback() method', function() { |
| 283 | + describe('127.0.0.1', function() { | ||
| 284 | + it('should respond with true', function() { | ||
| 275 | assert.ok(ip.isLoopback('127.0.0.1')) | 285 | assert.ok(ip.isLoopback('127.0.0.1')) |
| 276 | }); | 286 | }); |
| 277 | }); | 287 | }); |
| 278 | 288 | ||
| 289 | + describe('127.8.8.8', function () { | ||
| 290 | + it('should respond with true', function () { | ||
| 291 | + assert.ok(ip.isLoopback('127.8.8.8')) | ||
| 292 | + }); | ||
| 293 | + }); | ||
| 294 | + | ||
| 279 | describe('8.8.8.8', function () { | 295 | describe('8.8.8.8', function () { |
| 280 | it('should respond with false', function () { | 296 | it('should respond with false', function () { |
| 281 | assert.equal(ip.isLoopback('8.8.8.8'), false); | 297 | assert.equal(ip.isLoopback('8.8.8.8'), false); |
| 282 | }); | 298 | }); |
| 283 | }); | 299 | }); |
| 284 | 300 | ||
| 285 | - describe('fe80::1', function () { | ||
| 286 | - it('should respond with true', function () { | 301 | + describe('fe80::1', function() { |
| 302 | + it('should respond with true', function() { | ||
| 287 | assert.ok(ip.isLoopback('fe80::1')) | 303 | assert.ok(ip.isLoopback('fe80::1')) |
| 288 | }); | 304 | }); |
| 289 | }); | 305 | }); |
| 290 | 306 | ||
| 291 | - describe('::1', function () { | ||
| 292 | - it('should respond with true', function () { | 307 | + describe('::1', function() { |
| 308 | + it('should respond with true', function() { | ||
| 293 | assert.ok(ip.isLoopback('::1')) | 309 | assert.ok(ip.isLoopback('::1')) |
| 294 | }); | 310 | }); |
| 295 | }); | 311 | }); |
| 296 | 312 | ||
| 297 | - describe('::', function () { | ||
| 298 | - it('should respond with true', function () { | 313 | + describe('::', function() { |
| 314 | + it('should respond with true', function() { | ||
| 299 | assert.ok(ip.isLoopback('::')) | 315 | assert.ok(ip.isLoopback('::')) |
| 300 | }); | 316 | }); |
| 301 | }); | 317 | }); |
| 302 | }); | 318 | }); |
| 303 | 319 | ||
| 304 | - describe('address() method', function () { | ||
| 305 | - describe('undefined', function () { | ||
| 306 | - it('should respond with a private ip', function () { | 320 | + describe('address() method', function() { |
| 321 | + describe('undefined', function() { | ||
| 322 | + it('should respond with a private ip', function() { | ||
| 307 | assert.ok(ip.isPrivate(ip.address())); | 323 | assert.ok(ip.isPrivate(ip.address())); |
| 308 | }); | 324 | }); |
| 309 | }); | 325 | }); |
| 310 | 326 | ||
| 311 | - describe('private', function () { | ||
| 312 | - [undefined, 'ipv4', 'ipv6'].forEach(function (family) { | ||
| 313 | - describe(family, function () { | ||
| 314 | - it('should respond with a private ip', function () { | 327 | + describe('private', function() { |
| 328 | + [ undefined, 'ipv4', 'ipv6' ].forEach(function(family) { | ||
| 329 | + describe(family, function() { | ||
| 330 | + it('should respond with a private ip', function() { | ||
| 315 | assert.ok(ip.isPrivate(ip.address('private', family))); | 331 | assert.ok(ip.isPrivate(ip.address('private', family))); |
| 316 | }); | 332 | }); |
| 317 | }); | 333 | }); |
| @@ -320,34 +336,36 @@ describe('IP library for node.js', function() { | @@ -320,34 +336,36 @@ describe('IP library for node.js', function() { | ||
| 320 | 336 | ||
| 321 | var interfaces = os.networkInterfaces(); | 337 | var interfaces = os.networkInterfaces(); |
| 322 | 338 | ||
| 323 | - Object.keys(interfaces).forEach(function (nic) { | ||
| 324 | - describe(nic, function () { | ||
| 325 | - [undefined, 'ipv4'].forEach(function (family) { | ||
| 326 | - describe(family, function () { | ||
| 327 | - it('should respond with an ipv4 address', function () { | ||
| 328 | - assert.ok(net.isIPv4(ip.address(nic, family))); | 339 | + Object.keys(interfaces).forEach(function(nic) { |
| 340 | + describe(nic, function() { | ||
| 341 | + [ undefined, 'ipv4' ].forEach(function(family) { | ||
| 342 | + describe(family, function() { | ||
| 343 | + it('should respond with an ipv4 address', function() { | ||
| 344 | + var addr = ip.address(nic, family); | ||
| 345 | + assert.ok(!addr || net.isIPv4(addr)); | ||
| 329 | }); | 346 | }); |
| 330 | }); | 347 | }); |
| 331 | }); | 348 | }); |
| 332 | 349 | ||
| 333 | - describe('ipv6', function () { | ||
| 334 | - it('should respond with an ipv6 address', function () { | ||
| 335 | - assert.ok(net.isIPv6(ip.address(nic, 'ipv6'))); | 350 | + describe('ipv6', function() { |
| 351 | + it('should respond with an ipv6 address', function() { | ||
| 352 | + var addr = ip.address(nic, 'ipv6'); | ||
| 353 | + assert.ok(!addr || net.isIPv6(addr)); | ||
| 336 | }); | 354 | }); |
| 337 | }) | 355 | }) |
| 338 | }); | 356 | }); |
| 339 | }); | 357 | }); |
| 340 | }); | 358 | }); |
| 341 | 359 | ||
| 342 | - describe('toLong() method', function(){ | ||
| 343 | - it('should respond with a int', function(){ | 360 | + describe('toLong() method', function() { |
| 361 | + it('should respond with a int', function() { | ||
| 344 | assert.equal(ip.toLong('127.0.0.1'), 2130706433); | 362 | assert.equal(ip.toLong('127.0.0.1'), 2130706433); |
| 345 | assert.equal(ip.toLong('255.255.255.255'), 4294967295); | 363 | assert.equal(ip.toLong('255.255.255.255'), 4294967295); |
| 346 | }); | 364 | }); |
| 347 | }); | 365 | }); |
| 348 | 366 | ||
| 349 | - describe('fromLong() method', function(){ | ||
| 350 | - it('should repond with ipv4 address', function(){ | 367 | + describe('fromLong() method', function() { |
| 368 | + it('should repond with ipv4 address', function() { | ||
| 351 | assert.equal(ip.fromLong(2130706433), '127.0.0.1'); | 369 | assert.equal(ip.fromLong(2130706433), '127.0.0.1'); |
| 352 | assert.equal(ip.fromLong(4294967295), '255.255.255.255'); | 370 | assert.equal(ip.fromLong(4294967295), '255.255.255.255'); |
| 353 | }); | 371 | }); |
node_modules/mkdirp/.npmignore
node_modules/mkdirp/.travis.yml
node_modules/mkdirp/index.js
| 1 | var path = require('path'); | 1 | var path = require('path'); |
| 2 | var fs = require('fs'); | 2 | var fs = require('fs'); |
| 3 | +var _0777 = parseInt('0777', 8); | ||
| 3 | 4 | ||
| 4 | module.exports = mkdirP.mkdirp = mkdirP.mkdirP = mkdirP; | 5 | module.exports = mkdirP.mkdirp = mkdirP.mkdirP = mkdirP; |
| 5 | 6 | ||
| @@ -16,7 +17,7 @@ function mkdirP (p, opts, f, made) { | @@ -16,7 +17,7 @@ function mkdirP (p, opts, f, made) { | ||
| 16 | var xfs = opts.fs || fs; | 17 | var xfs = opts.fs || fs; |
| 17 | 18 | ||
| 18 | if (mode === undefined) { | 19 | if (mode === undefined) { |
| 19 | - mode = 0777 & (~process.umask()); | 20 | + mode = _0777 & (~process.umask()); |
| 20 | } | 21 | } |
| 21 | if (!made) made = null; | 22 | if (!made) made = null; |
| 22 | 23 | ||
| @@ -60,7 +61,7 @@ mkdirP.sync = function sync (p, opts, made) { | @@ -60,7 +61,7 @@ mkdirP.sync = function sync (p, opts, made) { | ||
| 60 | var xfs = opts.fs || fs; | 61 | var xfs = opts.fs || fs; |
| 61 | 62 | ||
| 62 | if (mode === undefined) { | 63 | if (mode === undefined) { |
| 63 | - mode = 0777 & (~process.umask()); | 64 | + mode = _0777 & (~process.umask()); |
| 64 | } | 65 | } |
| 65 | if (!made) made = null; | 66 | if (!made) made = null; |
| 66 | 67 |
node_modules/mkdirp/node_modules/minimist/package.json
| @@ -62,6 +62,5 @@ | @@ -62,6 +62,5 @@ | ||
| 62 | ], | 62 | ], |
| 63 | "directories": {}, | 63 | "directories": {}, |
| 64 | "_shasum": "857fcabfc3397d2625b8228262e86aa7a011b05d", | 64 | "_shasum": "857fcabfc3397d2625b8228262e86aa7a011b05d", |
| 65 | - "_resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", | ||
| 66 | - "readme": "ERROR: No README data found!" | 65 | + "_resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz" |
| 67 | } | 66 | } |
node_modules/mkdirp/package.json
| 1 | { | 1 | { |
| 2 | "name": "mkdirp", | 2 | "name": "mkdirp", |
| 3 | "description": "Recursively mkdir, like `mkdir -p`", | 3 | "description": "Recursively mkdir, like `mkdir -p`", |
| 4 | - "version": "0.5.0", | 4 | + "version": "0.5.1", |
| 5 | "author": { | 5 | "author": { |
| 6 | "name": "James Halliday", | 6 | "name": "James Halliday", |
| 7 | "email": "mail@substack.net", | 7 | "email": "mail@substack.net", |
| 8 | "url": "http://substack.net" | 8 | "url": "http://substack.net" |
| 9 | }, | 9 | }, |
| 10 | - "main": "./index", | 10 | + "main": "index.js", |
| 11 | "keywords": [ | 11 | "keywords": [ |
| 12 | "mkdir", | 12 | "mkdir", |
| 13 | "directory" | 13 | "directory" |
| 14 | ], | 14 | ], |
| 15 | "repository": { | 15 | "repository": { |
| 16 | "type": "git", | 16 | "type": "git", |
| 17 | - "url": "https://github.com/substack/node-mkdirp.git" | 17 | + "url": "git+https://github.com/substack/node-mkdirp.git" |
| 18 | }, | 18 | }, |
| 19 | "scripts": { | 19 | "scripts": { |
| 20 | "test": "tap test/*.js" | 20 | "test": "tap test/*.js" |
| @@ -23,27 +23,30 @@ | @@ -23,27 +23,30 @@ | ||
| 23 | "minimist": "0.0.8" | 23 | "minimist": "0.0.8" |
| 24 | }, | 24 | }, |
| 25 | "devDependencies": { | 25 | "devDependencies": { |
| 26 | - "tap": "~0.4.0", | ||
| 27 | - "mock-fs": "~2.2.0" | 26 | + "tap": "1", |
| 27 | + "mock-fs": "2 >=2.7.0" | ||
| 28 | }, | 28 | }, |
| 29 | "bin": { | 29 | "bin": { |
| 30 | "mkdirp": "bin/cmd.js" | 30 | "mkdirp": "bin/cmd.js" |
| 31 | }, | 31 | }, |
| 32 | "license": "MIT", | 32 | "license": "MIT", |
| 33 | + "gitHead": "d4eff0f06093aed4f387e88e9fc301cb76beedc7", | ||
| 33 | "bugs": { | 34 | "bugs": { |
| 34 | "url": "https://github.com/substack/node-mkdirp/issues" | 35 | "url": "https://github.com/substack/node-mkdirp/issues" |
| 35 | }, | 36 | }, |
| 36 | - "homepage": "https://github.com/substack/node-mkdirp", | ||
| 37 | - "_id": "mkdirp@0.5.0", | ||
| 38 | - "dist": { | ||
| 39 | - "shasum": "1d73076a6df986cd9344e15e71fcc05a4c9abf12", | ||
| 40 | - "tarball": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz" | ||
| 41 | - }, | 37 | + "homepage": "https://github.com/substack/node-mkdirp#readme", |
| 38 | + "_id": "mkdirp@0.5.1", | ||
| 39 | + "_shasum": "30057438eac6cf7f8c4767f38648d6697d75c903", | ||
| 42 | "_from": "mkdirp@>=0.5.0 <0.6.0", | 40 | "_from": "mkdirp@>=0.5.0 <0.6.0", |
| 43 | - "_npmVersion": "1.4.3", | 41 | + "_npmVersion": "2.9.0", |
| 42 | + "_nodeVersion": "2.0.0", | ||
| 44 | "_npmUser": { | 43 | "_npmUser": { |
| 45 | "name": "substack", | 44 | "name": "substack", |
| 46 | - "email": "mail@substack.net" | 45 | + "email": "substack@gmail.com" |
| 46 | + }, | ||
| 47 | + "dist": { | ||
| 48 | + "shasum": "30057438eac6cf7f8c4767f38648d6697d75c903", | ||
| 49 | + "tarball": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz" | ||
| 47 | }, | 50 | }, |
| 48 | "maintainers": [ | 51 | "maintainers": [ |
| 49 | { | 52 | { |
| @@ -52,7 +55,6 @@ | @@ -52,7 +55,6 @@ | ||
| 52 | } | 55 | } |
| 53 | ], | 56 | ], |
| 54 | "directories": {}, | 57 | "directories": {}, |
| 55 | - "_shasum": "1d73076a6df986cd9344e15e71fcc05a4c9abf12", | ||
| 56 | - "_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz", | 58 | + "_resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", |
| 57 | "readme": "ERROR: No README data found!" | 59 | "readme": "ERROR: No README data found!" |
| 58 | } | 60 | } |
node_modules/mkdirp/test/chmod.js
| @@ -2,6 +2,9 @@ var mkdirp = require('../').mkdirp; | @@ -2,6 +2,9 @@ var mkdirp = require('../').mkdirp; | ||
| 2 | var path = require('path'); | 2 | var path = require('path'); |
| 3 | var fs = require('fs'); | 3 | var fs = require('fs'); |
| 4 | var test = require('tap').test; | 4 | var test = require('tap').test; |
| 5 | +var _0777 = parseInt('0777', 8); | ||
| 6 | +var _0755 = parseInt('0755', 8); | ||
| 7 | +var _0744 = parseInt('0744', 8); | ||
| 5 | 8 | ||
| 6 | var ps = [ '', 'tmp' ]; | 9 | var ps = [ '', 'tmp' ]; |
| 7 | 10 | ||
| @@ -13,20 +16,20 @@ for (var i = 0; i < 25; i++) { | @@ -13,20 +16,20 @@ for (var i = 0; i < 25; i++) { | ||
| 13 | var file = ps.join('/'); | 16 | var file = ps.join('/'); |
| 14 | 17 | ||
| 15 | test('chmod-pre', function (t) { | 18 | test('chmod-pre', function (t) { |
| 16 | - var mode = 0744 | 19 | + var mode = _0744 |
| 17 | mkdirp(file, mode, function (er) { | 20 | mkdirp(file, mode, function (er) { |
| 18 | t.ifError(er, 'should not error'); | 21 | t.ifError(er, 'should not error'); |
| 19 | fs.stat(file, function (er, stat) { | 22 | fs.stat(file, function (er, stat) { |
| 20 | t.ifError(er, 'should exist'); | 23 | t.ifError(er, 'should exist'); |
| 21 | t.ok(stat && stat.isDirectory(), 'should be directory'); | 24 | t.ok(stat && stat.isDirectory(), 'should be directory'); |
| 22 | - t.equal(stat && stat.mode & 0777, mode, 'should be 0744'); | 25 | + t.equal(stat && stat.mode & _0777, mode, 'should be 0744'); |
| 23 | t.end(); | 26 | t.end(); |
| 24 | }); | 27 | }); |
| 25 | }); | 28 | }); |
| 26 | }); | 29 | }); |
| 27 | 30 | ||
| 28 | test('chmod', function (t) { | 31 | test('chmod', function (t) { |
| 29 | - var mode = 0755 | 32 | + var mode = _0755 |
| 30 | mkdirp(file, mode, function (er) { | 33 | mkdirp(file, mode, function (er) { |
| 31 | t.ifError(er, 'should not error'); | 34 | t.ifError(er, 'should not error'); |
| 32 | fs.stat(file, function (er, stat) { | 35 | fs.stat(file, function (er, stat) { |
node_modules/mkdirp/test/clobber.js
| @@ -2,6 +2,7 @@ var mkdirp = require('../').mkdirp; | @@ -2,6 +2,7 @@ var mkdirp = require('../').mkdirp; | ||
| 2 | var path = require('path'); | 2 | var path = require('path'); |
| 3 | var fs = require('fs'); | 3 | var fs = require('fs'); |
| 4 | var test = require('tap').test; | 4 | var test = require('tap').test; |
| 5 | +var _0755 = parseInt('0755', 8); | ||
| 5 | 6 | ||
| 6 | var ps = [ '', 'tmp' ]; | 7 | var ps = [ '', 'tmp' ]; |
| 7 | 8 | ||
| @@ -29,7 +30,7 @@ test('clobber-pre', function (t) { | @@ -29,7 +30,7 @@ test('clobber-pre', function (t) { | ||
| 29 | 30 | ||
| 30 | test('clobber', function (t) { | 31 | test('clobber', function (t) { |
| 31 | t.plan(2); | 32 | t.plan(2); |
| 32 | - mkdirp(file, 0755, function (err) { | 33 | + mkdirp(file, _0755, function (err) { |
| 33 | t.ok(err); | 34 | t.ok(err); |
| 34 | t.equal(err.code, 'ENOTDIR'); | 35 | t.equal(err.code, 'ENOTDIR'); |
| 35 | t.end(); | 36 | t.end(); |
node_modules/mkdirp/test/mkdirp.js
| @@ -3,6 +3,8 @@ var path = require('path'); | @@ -3,6 +3,8 @@ var path = require('path'); | ||
| 3 | var fs = require('fs'); | 3 | var fs = require('fs'); |
| 4 | var exists = fs.exists || path.exists; | 4 | var exists = fs.exists || path.exists; |
| 5 | var test = require('tap').test; | 5 | var test = require('tap').test; |
| 6 | +var _0777 = parseInt('0777', 8); | ||
| 7 | +var _0755 = parseInt('0755', 8); | ||
| 6 | 8 | ||
| 7 | test('woo', function (t) { | 9 | test('woo', function (t) { |
| 8 | t.plan(5); | 10 | t.plan(5); |
| @@ -12,13 +14,13 @@ test('woo', function (t) { | @@ -12,13 +14,13 @@ test('woo', function (t) { | ||
| 12 | 14 | ||
| 13 | var file = '/tmp/' + [x,y,z].join('/'); | 15 | var file = '/tmp/' + [x,y,z].join('/'); |
| 14 | 16 | ||
| 15 | - mkdirp(file, 0755, function (err) { | 17 | + mkdirp(file, _0755, function (err) { |
| 16 | t.ifError(err); | 18 | t.ifError(err); |
| 17 | exists(file, function (ex) { | 19 | exists(file, function (ex) { |
| 18 | t.ok(ex, 'file created'); | 20 | t.ok(ex, 'file created'); |
| 19 | fs.stat(file, function (err, stat) { | 21 | fs.stat(file, function (err, stat) { |
| 20 | t.ifError(err); | 22 | t.ifError(err); |
| 21 | - t.equal(stat.mode & 0777, 0755); | 23 | + t.equal(stat.mode & _0777, _0755); |
| 22 | t.ok(stat.isDirectory(), 'target not a directory'); | 24 | t.ok(stat.isDirectory(), 'target not a directory'); |
| 23 | }) | 25 | }) |
| 24 | }) | 26 | }) |
node_modules/mkdirp/test/opts_fs.js
| @@ -2,6 +2,8 @@ var mkdirp = require('../'); | @@ -2,6 +2,8 @@ var mkdirp = require('../'); | ||
| 2 | var path = require('path'); | 2 | var path = require('path'); |
| 3 | var test = require('tap').test; | 3 | var test = require('tap').test; |
| 4 | var mockfs = require('mock-fs'); | 4 | var mockfs = require('mock-fs'); |
| 5 | +var _0777 = parseInt('0777', 8); | ||
| 6 | +var _0755 = parseInt('0755', 8); | ||
| 5 | 7 | ||
| 6 | test('opts.fs', function (t) { | 8 | test('opts.fs', function (t) { |
| 7 | t.plan(5); | 9 | t.plan(5); |
| @@ -13,13 +15,13 @@ test('opts.fs', function (t) { | @@ -13,13 +15,13 @@ test('opts.fs', function (t) { | ||
| 13 | var file = '/beep/boop/' + [x,y,z].join('/'); | 15 | var file = '/beep/boop/' + [x,y,z].join('/'); |
| 14 | var xfs = mockfs.fs(); | 16 | var xfs = mockfs.fs(); |
| 15 | 17 | ||
| 16 | - mkdirp(file, { fs: xfs, mode: 0755 }, function (err) { | 18 | + mkdirp(file, { fs: xfs, mode: _0755 }, function (err) { |
| 17 | t.ifError(err); | 19 | t.ifError(err); |
| 18 | xfs.exists(file, function (ex) { | 20 | xfs.exists(file, function (ex) { |
| 19 | t.ok(ex, 'created file'); | 21 | t.ok(ex, 'created file'); |
| 20 | xfs.stat(file, function (err, stat) { | 22 | xfs.stat(file, function (err, stat) { |
| 21 | t.ifError(err); | 23 | t.ifError(err); |
| 22 | - t.equal(stat.mode & 0777, 0755); | 24 | + t.equal(stat.mode & _0777, _0755); |
| 23 | t.ok(stat.isDirectory(), 'target not a directory'); | 25 | t.ok(stat.isDirectory(), 'target not a directory'); |
| 24 | }); | 26 | }); |
| 25 | }); | 27 | }); |
node_modules/mkdirp/test/opts_fs_sync.js
| @@ -2,6 +2,8 @@ var mkdirp = require('../'); | @@ -2,6 +2,8 @@ var mkdirp = require('../'); | ||
| 2 | var path = require('path'); | 2 | var path = require('path'); |
| 3 | var test = require('tap').test; | 3 | var test = require('tap').test; |
| 4 | var mockfs = require('mock-fs'); | 4 | var mockfs = require('mock-fs'); |
| 5 | +var _0777 = parseInt('0777', 8); | ||
| 6 | +var _0755 = parseInt('0755', 8); | ||
| 5 | 7 | ||
| 6 | test('opts.fs sync', function (t) { | 8 | test('opts.fs sync', function (t) { |
| 7 | t.plan(4); | 9 | t.plan(4); |
| @@ -13,12 +15,12 @@ test('opts.fs sync', function (t) { | @@ -13,12 +15,12 @@ test('opts.fs sync', function (t) { | ||
| 13 | var file = '/beep/boop/' + [x,y,z].join('/'); | 15 | var file = '/beep/boop/' + [x,y,z].join('/'); |
| 14 | var xfs = mockfs.fs(); | 16 | var xfs = mockfs.fs(); |
| 15 | 17 | ||
| 16 | - mkdirp.sync(file, { fs: xfs, mode: 0755 }); | 18 | + mkdirp.sync(file, { fs: xfs, mode: _0755 }); |
| 17 | xfs.exists(file, function (ex) { | 19 | xfs.exists(file, function (ex) { |
| 18 | t.ok(ex, 'created file'); | 20 | t.ok(ex, 'created file'); |
| 19 | xfs.stat(file, function (err, stat) { | 21 | xfs.stat(file, function (err, stat) { |
| 20 | t.ifError(err); | 22 | t.ifError(err); |
| 21 | - t.equal(stat.mode & 0777, 0755); | 23 | + t.equal(stat.mode & _0777, _0755); |
| 22 | t.ok(stat.isDirectory(), 'target not a directory'); | 24 | t.ok(stat.isDirectory(), 'target not a directory'); |
| 23 | }); | 25 | }); |
| 24 | }); | 26 | }); |
node_modules/mkdirp/test/perm.js
| @@ -3,18 +3,20 @@ var path = require('path'); | @@ -3,18 +3,20 @@ var path = require('path'); | ||
| 3 | var fs = require('fs'); | 3 | var fs = require('fs'); |
| 4 | var exists = fs.exists || path.exists; | 4 | var exists = fs.exists || path.exists; |
| 5 | var test = require('tap').test; | 5 | var test = require('tap').test; |
| 6 | +var _0777 = parseInt('0777', 8); | ||
| 7 | +var _0755 = parseInt('0755', 8); | ||
| 6 | 8 | ||
| 7 | test('async perm', function (t) { | 9 | test('async perm', function (t) { |
| 8 | t.plan(5); | 10 | t.plan(5); |
| 9 | var file = '/tmp/' + (Math.random() * (1<<30)).toString(16); | 11 | var file = '/tmp/' + (Math.random() * (1<<30)).toString(16); |
| 10 | 12 | ||
| 11 | - mkdirp(file, 0755, function (err) { | 13 | + mkdirp(file, _0755, function (err) { |
| 12 | t.ifError(err); | 14 | t.ifError(err); |
| 13 | exists(file, function (ex) { | 15 | exists(file, function (ex) { |
| 14 | t.ok(ex, 'file created'); | 16 | t.ok(ex, 'file created'); |
| 15 | fs.stat(file, function (err, stat) { | 17 | fs.stat(file, function (err, stat) { |
| 16 | t.ifError(err); | 18 | t.ifError(err); |
| 17 | - t.equal(stat.mode & 0777, 0755); | 19 | + t.equal(stat.mode & _0777, _0755); |
| 18 | t.ok(stat.isDirectory(), 'target not a directory'); | 20 | t.ok(stat.isDirectory(), 'target not a directory'); |
| 19 | }) | 21 | }) |
| 20 | }) | 22 | }) |
| @@ -22,7 +24,7 @@ test('async perm', function (t) { | @@ -22,7 +24,7 @@ test('async perm', function (t) { | ||
| 22 | }); | 24 | }); |
| 23 | 25 | ||
| 24 | test('async root perm', function (t) { | 26 | test('async root perm', function (t) { |
| 25 | - mkdirp('/tmp', 0755, function (err) { | 27 | + mkdirp('/tmp', _0755, function (err) { |
| 26 | if (err) t.fail(err); | 28 | if (err) t.fail(err); |
| 27 | t.end(); | 29 | t.end(); |
| 28 | }); | 30 | }); |
node_modules/mkdirp/test/perm_sync.js
| @@ -3,17 +3,19 @@ var path = require('path'); | @@ -3,17 +3,19 @@ var path = require('path'); | ||
| 3 | var fs = require('fs'); | 3 | var fs = require('fs'); |
| 4 | var exists = fs.exists || path.exists; | 4 | var exists = fs.exists || path.exists; |
| 5 | var test = require('tap').test; | 5 | var test = require('tap').test; |
| 6 | +var _0777 = parseInt('0777', 8); | ||
| 7 | +var _0755 = parseInt('0755', 8); | ||
| 6 | 8 | ||
| 7 | test('sync perm', function (t) { | 9 | test('sync perm', function (t) { |
| 8 | t.plan(4); | 10 | t.plan(4); |
| 9 | var file = '/tmp/' + (Math.random() * (1<<30)).toString(16) + '.json'; | 11 | var file = '/tmp/' + (Math.random() * (1<<30)).toString(16) + '.json'; |
| 10 | 12 | ||
| 11 | - mkdirp.sync(file, 0755); | 13 | + mkdirp.sync(file, _0755); |
| 12 | exists(file, function (ex) { | 14 | exists(file, function (ex) { |
| 13 | t.ok(ex, 'file created'); | 15 | t.ok(ex, 'file created'); |
| 14 | fs.stat(file, function (err, stat) { | 16 | fs.stat(file, function (err, stat) { |
| 15 | t.ifError(err); | 17 | t.ifError(err); |
| 16 | - t.equal(stat.mode & 0777, 0755); | 18 | + t.equal(stat.mode & _0777, _0755); |
| 17 | t.ok(stat.isDirectory(), 'target not a directory'); | 19 | t.ok(stat.isDirectory(), 'target not a directory'); |
| 18 | }); | 20 | }); |
| 19 | }); | 21 | }); |
| @@ -23,7 +25,7 @@ test('sync root perm', function (t) { | @@ -23,7 +25,7 @@ test('sync root perm', function (t) { | ||
| 23 | t.plan(3); | 25 | t.plan(3); |
| 24 | 26 | ||
| 25 | var file = '/tmp'; | 27 | var file = '/tmp'; |
| 26 | - mkdirp.sync(file, 0755); | 28 | + mkdirp.sync(file, _0755); |
| 27 | exists(file, function (ex) { | 29 | exists(file, function (ex) { |
| 28 | t.ok(ex, 'file created'); | 30 | t.ok(ex, 'file created'); |
| 29 | fs.stat(file, function (err, stat) { | 31 | fs.stat(file, function (err, stat) { |
node_modules/mkdirp/test/race.js
| @@ -3,9 +3,11 @@ var path = require('path'); | @@ -3,9 +3,11 @@ var path = require('path'); | ||
| 3 | var fs = require('fs'); | 3 | var fs = require('fs'); |
| 4 | var exists = fs.exists || path.exists; | 4 | var exists = fs.exists || path.exists; |
| 5 | var test = require('tap').test; | 5 | var test = require('tap').test; |
| 6 | +var _0777 = parseInt('0777', 8); | ||
| 7 | +var _0755 = parseInt('0755', 8); | ||
| 6 | 8 | ||
| 7 | test('race', function (t) { | 9 | test('race', function (t) { |
| 8 | - t.plan(6); | 10 | + t.plan(10); |
| 9 | var ps = [ '', 'tmp' ]; | 11 | var ps = [ '', 'tmp' ]; |
| 10 | 12 | ||
| 11 | for (var i = 0; i < 25; i++) { | 13 | for (var i = 0; i < 25; i++) { |
| @@ -15,24 +17,19 @@ test('race', function (t) { | @@ -15,24 +17,19 @@ test('race', function (t) { | ||
| 15 | var file = ps.join('/'); | 17 | var file = ps.join('/'); |
| 16 | 18 | ||
| 17 | var res = 2; | 19 | var res = 2; |
| 18 | - mk(file, function () { | ||
| 19 | - if (--res === 0) t.end(); | ||
| 20 | - }); | 20 | + mk(file); |
| 21 | 21 | ||
| 22 | - mk(file, function () { | ||
| 23 | - if (--res === 0) t.end(); | ||
| 24 | - }); | 22 | + mk(file); |
| 25 | 23 | ||
| 26 | function mk (file, cb) { | 24 | function mk (file, cb) { |
| 27 | - mkdirp(file, 0755, function (err) { | 25 | + mkdirp(file, _0755, function (err) { |
| 28 | t.ifError(err); | 26 | t.ifError(err); |
| 29 | exists(file, function (ex) { | 27 | exists(file, function (ex) { |
| 30 | t.ok(ex, 'file created'); | 28 | t.ok(ex, 'file created'); |
| 31 | fs.stat(file, function (err, stat) { | 29 | fs.stat(file, function (err, stat) { |
| 32 | t.ifError(err); | 30 | t.ifError(err); |
| 33 | - t.equal(stat.mode & 0777, 0755); | 31 | + t.equal(stat.mode & _0777, _0755); |
| 34 | t.ok(stat.isDirectory(), 'target not a directory'); | 32 | t.ok(stat.isDirectory(), 'target not a directory'); |
| 35 | - if (cb) cb(); | ||
| 36 | }); | 33 | }); |
| 37 | }) | 34 | }) |
| 38 | }); | 35 | }); |
node_modules/mkdirp/test/rel.js
| @@ -3,6 +3,8 @@ var path = require('path'); | @@ -3,6 +3,8 @@ var path = require('path'); | ||
| 3 | var fs = require('fs'); | 3 | var fs = require('fs'); |
| 4 | var exists = fs.exists || path.exists; | 4 | var exists = fs.exists || path.exists; |
| 5 | var test = require('tap').test; | 5 | var test = require('tap').test; |
| 6 | +var _0777 = parseInt('0777', 8); | ||
| 7 | +var _0755 = parseInt('0755', 8); | ||
| 6 | 8 | ||
| 7 | test('rel', function (t) { | 9 | test('rel', function (t) { |
| 8 | t.plan(5); | 10 | t.plan(5); |
| @@ -15,14 +17,14 @@ test('rel', function (t) { | @@ -15,14 +17,14 @@ test('rel', function (t) { | ||
| 15 | 17 | ||
| 16 | var file = [x,y,z].join('/'); | 18 | var file = [x,y,z].join('/'); |
| 17 | 19 | ||
| 18 | - mkdirp(file, 0755, function (err) { | 20 | + mkdirp(file, _0755, function (err) { |
| 19 | t.ifError(err); | 21 | t.ifError(err); |
| 20 | exists(file, function (ex) { | 22 | exists(file, function (ex) { |
| 21 | t.ok(ex, 'file created'); | 23 | t.ok(ex, 'file created'); |
| 22 | fs.stat(file, function (err, stat) { | 24 | fs.stat(file, function (err, stat) { |
| 23 | t.ifError(err); | 25 | t.ifError(err); |
| 24 | process.chdir(cwd); | 26 | process.chdir(cwd); |
| 25 | - t.equal(stat.mode & 0777, 0755); | 27 | + t.equal(stat.mode & _0777, _0755); |
| 26 | t.ok(stat.isDirectory(), 'target not a directory'); | 28 | t.ok(stat.isDirectory(), 'target not a directory'); |
| 27 | }) | 29 | }) |
| 28 | }) | 30 | }) |
node_modules/mkdirp/test/root.js
| @@ -2,12 +2,13 @@ var mkdirp = require('../'); | @@ -2,12 +2,13 @@ var mkdirp = require('../'); | ||
| 2 | var path = require('path'); | 2 | var path = require('path'); |
| 3 | var fs = require('fs'); | 3 | var fs = require('fs'); |
| 4 | var test = require('tap').test; | 4 | var test = require('tap').test; |
| 5 | +var _0755 = parseInt('0755', 8); | ||
| 5 | 6 | ||
| 6 | test('root', function (t) { | 7 | test('root', function (t) { |
| 7 | // '/' on unix, 'c:/' on windows. | 8 | // '/' on unix, 'c:/' on windows. |
| 8 | var file = path.resolve('/'); | 9 | var file = path.resolve('/'); |
| 9 | 10 | ||
| 10 | - mkdirp(file, 0755, function (err) { | 11 | + mkdirp(file, _0755, function (err) { |
| 11 | if (err) throw err | 12 | if (err) throw err |
| 12 | fs.stat(file, function (er, stat) { | 13 | fs.stat(file, function (er, stat) { |
| 13 | if (er) throw er | 14 | if (er) throw er |
node_modules/mkdirp/test/sync.js
| @@ -3,6 +3,8 @@ var path = require('path'); | @@ -3,6 +3,8 @@ var path = require('path'); | ||
| 3 | var fs = require('fs'); | 3 | var fs = require('fs'); |
| 4 | var exists = fs.exists || path.exists; | 4 | var exists = fs.exists || path.exists; |
| 5 | var test = require('tap').test; | 5 | var test = require('tap').test; |
| 6 | +var _0777 = parseInt('0777', 8); | ||
| 7 | +var _0755 = parseInt('0755', 8); | ||
| 6 | 8 | ||
| 7 | test('sync', function (t) { | 9 | test('sync', function (t) { |
| 8 | t.plan(4); | 10 | t.plan(4); |
| @@ -13,7 +15,7 @@ test('sync', function (t) { | @@ -13,7 +15,7 @@ test('sync', function (t) { | ||
| 13 | var file = '/tmp/' + [x,y,z].join('/'); | 15 | var file = '/tmp/' + [x,y,z].join('/'); |
| 14 | 16 | ||
| 15 | try { | 17 | try { |
| 16 | - mkdirp.sync(file, 0755); | 18 | + mkdirp.sync(file, _0755); |
| 17 | } catch (err) { | 19 | } catch (err) { |
| 18 | t.fail(err); | 20 | t.fail(err); |
| 19 | return t.end(); | 21 | return t.end(); |
| @@ -23,7 +25,7 @@ test('sync', function (t) { | @@ -23,7 +25,7 @@ test('sync', function (t) { | ||
| 23 | t.ok(ex, 'file created'); | 25 | t.ok(ex, 'file created'); |
| 24 | fs.stat(file, function (err, stat) { | 26 | fs.stat(file, function (err, stat) { |
| 25 | t.ifError(err); | 27 | t.ifError(err); |
| 26 | - t.equal(stat.mode & 0777, 0755); | 28 | + t.equal(stat.mode & _0777, _0755); |
| 27 | t.ok(stat.isDirectory(), 'target not a directory'); | 29 | t.ok(stat.isDirectory(), 'target not a directory'); |
| 28 | }); | 30 | }); |
| 29 | }); | 31 | }); |
node_modules/mkdirp/test/umask.js
| @@ -3,6 +3,8 @@ var path = require('path'); | @@ -3,6 +3,8 @@ var path = require('path'); | ||
| 3 | var fs = require('fs'); | 3 | var fs = require('fs'); |
| 4 | var exists = fs.exists || path.exists; | 4 | var exists = fs.exists || path.exists; |
| 5 | var test = require('tap').test; | 5 | var test = require('tap').test; |
| 6 | +var _0777 = parseInt('0777', 8); | ||
| 7 | +var _0755 = parseInt('0755', 8); | ||
| 6 | 8 | ||
| 7 | test('implicit mode from umask', function (t) { | 9 | test('implicit mode from umask', function (t) { |
| 8 | t.plan(5); | 10 | t.plan(5); |
| @@ -18,7 +20,7 @@ test('implicit mode from umask', function (t) { | @@ -18,7 +20,7 @@ test('implicit mode from umask', function (t) { | ||
| 18 | t.ok(ex, 'file created'); | 20 | t.ok(ex, 'file created'); |
| 19 | fs.stat(file, function (err, stat) { | 21 | fs.stat(file, function (err, stat) { |
| 20 | t.ifError(err); | 22 | t.ifError(err); |
| 21 | - t.equal(stat.mode & 0777, 0777 & (~process.umask())); | 23 | + t.equal(stat.mode & _0777, _0777 & (~process.umask())); |
| 22 | t.ok(stat.isDirectory(), 'target not a directory'); | 24 | t.ok(stat.isDirectory(), 'target not a directory'); |
| 23 | }); | 25 | }); |
| 24 | }) | 26 | }) |
node_modules/mkdirp/test/umask_sync.js
| @@ -3,6 +3,8 @@ var path = require('path'); | @@ -3,6 +3,8 @@ var path = require('path'); | ||
| 3 | var fs = require('fs'); | 3 | var fs = require('fs'); |
| 4 | var exists = fs.exists || path.exists; | 4 | var exists = fs.exists || path.exists; |
| 5 | var test = require('tap').test; | 5 | var test = require('tap').test; |
| 6 | +var _0777 = parseInt('0777', 8); | ||
| 7 | +var _0755 = parseInt('0755', 8); | ||
| 6 | 8 | ||
| 7 | test('umask sync modes', function (t) { | 9 | test('umask sync modes', function (t) { |
| 8 | t.plan(4); | 10 | t.plan(4); |
| @@ -23,7 +25,7 @@ test('umask sync modes', function (t) { | @@ -23,7 +25,7 @@ test('umask sync modes', function (t) { | ||
| 23 | t.ok(ex, 'file created'); | 25 | t.ok(ex, 'file created'); |
| 24 | fs.stat(file, function (err, stat) { | 26 | fs.stat(file, function (err, stat) { |
| 25 | t.ifError(err); | 27 | t.ifError(err); |
| 26 | - t.equal(stat.mode & 0777, (0777 & (~process.umask()))); | 28 | + t.equal(stat.mode & _0777, (_0777 & (~process.umask()))); |
| 27 | t.ok(stat.isDirectory(), 'target not a directory'); | 29 | t.ok(stat.isDirectory(), 'target not a directory'); |
| 28 | }); | 30 | }); |
| 29 | }); | 31 | }); |
server.js
| @@ -21,6 +21,7 @@ var logger = require('./logsystem/main.js'); | @@ -21,6 +21,7 @@ var logger = require('./logsystem/main.js'); | ||
| 21 | var kue = require('kue'); | 21 | var kue = require('kue'); |
| 22 | var queue = kue.createQueue(); | 22 | var queue = kue.createQueue(); |
| 23 | var unirest = require('unirest'); | 23 | var unirest = require('unirest'); |
| 24 | +var ui = require('kue-ui'); | ||
| 24 | 25 | ||
| 25 | var PythonShell = require('python-shell'); | 26 | var PythonShell = require('python-shell'); |
| 26 | 27 | ||
| @@ -30,6 +31,9 @@ var options = { | @@ -30,6 +31,9 @@ var options = { | ||
| 30 | args: [] | 31 | args: [] |
| 31 | }; | 32 | }; |
| 32 | 33 | ||
| 34 | +app.use('/kue', kue.app); | ||
| 35 | +// app.use('/kueui', ui.app); | ||
| 36 | + | ||
| 33 | app.use(express.static(path.join(__dirname, '/videos'))); | 37 | app.use(express.static(path.join(__dirname, '/videos'))); |
| 34 | app.use(express.bodyParser({ keepExtensions: true, uploadDir: path.join(__dirname, '/uploads') })); | 38 | app.use(express.bodyParser({ keepExtensions: true, uploadDir: path.join(__dirname, '/uploads') })); |
| 35 | 39 | ||
| @@ -216,18 +220,18 @@ app.listen(properties.port, properties.host, function(){ | @@ -216,18 +220,18 @@ app.listen(properties.port, properties.host, function(){ | ||
| 216 | 220 | ||
| 217 | 221 | ||
| 218 | 222 | ||
| 219 | -var CronJob = require('cron').CronJob; | ||
| 220 | -// '* * * * * *' == a cada 1 segundo | ||
| 221 | -new CronJob('* * * * * *', function() { | ||
| 222 | - unirest.post('http://localhost:5000/api') | ||
| 223 | - .header('Accept', 'application/json') | ||
| 224 | - .send({ "servico": "texto", "transparencia": "opaco", "texto": "texto teste" }) | ||
| 225 | - .end(function (response) { | ||
| 226 | - console.log(response.status); | ||
| 227 | - if(response.status === 200){ | ||
| 228 | - logger.updateHealth("outros", 1); | ||
| 229 | - } else { | ||
| 230 | - logger.updateHealth(); | ||
| 231 | - } | ||
| 232 | - }); | ||
| 233 | -}, null, true); // no lugar do null pode ser uma funcao pra executar quando parar | 223 | +// var CronJob = require('cron').CronJob; |
| 224 | +// // '* * * * * *' == a cada 1 segundo | ||
| 225 | +// new CronJob('* 2 * * * *', function() { | ||
| 226 | +// unirest.post('http://localhost:5000/api') | ||
| 227 | +// .header('Accept', 'application/json') | ||
| 228 | +// .send({ "servico": "texto", "transparencia": "opaco", "texto": "texto teste" }) | ||
| 229 | +// .end(function (response) { | ||
| 230 | +// console.log(response.status); | ||
| 231 | +// if(response.status === 200){ | ||
| 232 | +// logger.updateHealth("outros", 1); | ||
| 233 | +// } else { | ||
| 234 | +// logger.updateHealth(); | ||
| 235 | +// } | ||
| 236 | +// }); | ||
| 237 | +// }, null, true); // no lugar do null pode ser uma funcao pra executar quando parar |