Skip to content

Commit

Permalink
First commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Apress committed Oct 18, 2016
0 parents commit 68176cb
Show file tree
Hide file tree
Showing 20,010 changed files with 2,881,750 additions and 0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 2 additions & 0 deletions practicalnode-master/.gitignore
@@ -0,0 +1,2 @@
.DS_Store
*.zip
8 changes: 8 additions & 0 deletions practicalnode-master/ch1/hello-debug.js
@@ -0,0 +1,8 @@
var http = require('http');
debugger;
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
debugger;
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
6 changes: 6 additions & 0 deletions practicalnode-master/ch1/hello.js
@@ -0,0 +1,6 @@
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
24 changes: 24 additions & 0 deletions practicalnode-master/ch10/cluster.js
@@ -0,0 +1,24 @@
var cluster = require('cluster');
var numCPUs = require('os').cpus().length;
var express = require('express');

if (cluster.isMaster) {
console.log (' Fork %s worker(s) from master', numCPUs);
for (var i = 0; i < numCPUs; i++) {
cluster.fork();
}
cluster.on('online', function(worker) {
console.log ('worker is running on %s pid', worker.process.pid);
});
cluster.on('exit', function(worker, code, signal) {
console.log('worker with %s is closed', worker.process.pid );
});
} else if (cluster.isWorker) {
var port = 3000;
console.log('worker (%s) is now listening to http://localhost:%s', cluster.worker.process.pid, port);
var app = express();
app.get('*', function(req, res) {
res.send(200, 'cluser ' + cluster.worker.process.pid + ' responded \n');
});
app.listen(port);
}
43 changes: 43 additions & 0 deletions practicalnode-master/ch10/domains/app.js
@@ -0,0 +1,43 @@
var express = require('express');
var routes = require('./routes');
var http = require('http');
var path = require('path');
var errorHandler = require('errorhandler');

var app = express();

app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.static(path.join(__dirname, 'public')));

var domain = require('domain');
var defaultHandler = errorHandler();
app.get('/', routes.index);

app.get('/e', function (req, res, next) {
var d = domain.create();
d.on('error', function (error) {
console.error(error.stack);
res.send(500, {'error': error.message});
});
d.run(function () {
//error prone code goes here
throw new Error('Database is down.');
// next(new Error('Database is down.'));
});
});

app.use(function (error, req, res, next) {
if (domain.active) {
console.info('caught with domain', domain.active);
domain.active.emit('error', error);
} else {
console.info('no domain');
defaultHandler(error, req, res, next);
}
});

http.createServer(app).listen(app.get('port'), function () {
console.log('Express server listening on port ' + app.get('port'));
});

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions practicalnode-master/ch10/domains/node_modules/.bin/jade

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

108 changes: 108 additions & 0 deletions practicalnode-master/ch10/domains/node_modules/errorhandler/index.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions practicalnode-master/ch10/domains/node_modules/express/.npmignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 68176cb

Please sign in to comment.