Skip to content

Commit 222c3e9

Browse files
committed
Added HTTP, static file server and skeleton of Express.js examples
1 parent b0d473b commit 222c3e9

File tree

4 files changed

+82
-0
lines changed

4 files changed

+82
-0
lines changed

express.js

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
var express = require('express');
2+
var app = express();
3+
4+
app.get('/', function (req, res){
5+
res.send('hello world');
6+
});
7+
8+
app.listen(3000);

http.js

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
var http = require('http');
2+
3+
var server = http.createServer();
4+
5+
server.on('request', function (request, response) {
6+
console.log('request received');
7+
response.statusCode = 200;
8+
response.setHeader('Content-Type', 'text/plain');
9+
response.write('dotJS rulez\n', 'utf8');
10+
response.end();
11+
console.log('response sent');
12+
});
13+
14+
server.listen(8000, function () {
15+
console.log('Server listening on port 8000...');
16+
});

httpstatic.js

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
var http = require('http');
2+
var fs = require('fs');
3+
var path = require('path');
4+
5+
var server = http.createServer();
6+
7+
var notFound = function (response) {
8+
response.statusCode = 404;
9+
response.setHeader('Content-Type', 'text/plain');
10+
response.end('I not haz the page');
11+
};
12+
13+
server.on('request', function (request, response) {
14+
var filename = null;
15+
16+
console.log('request received for', request.url);
17+
if (request.url === '/') {
18+
filename = './public/index.html';
19+
}
20+
else {
21+
filename = './public' + request.url;
22+
}
23+
24+
fs.exists(filename, function (exists) {
25+
if (!exists) return notFound(response);
26+
27+
response.statusCode = 200;
28+
response.setHeader('Content-Type', 'text/plain');
29+
30+
var stream = fs.createReadStream(filename);
31+
stream.on('data', function (data) {
32+
response.write(data);
33+
console.log('returning chunk');
34+
});
35+
stream.on('end', function () {
36+
response.end();
37+
console.log('response sent');
38+
});
39+
stream.on('error', function (err) {
40+
console.error('Oh no!', err);
41+
});
42+
});
43+
});
44+
45+
server.listen(8000, function () {
46+
console.log('Server listening on port 8000...');
47+
});

public/index.html

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<meta charset="utf8" />
5+
<title>Intro to Node.js</title>
6+
</head>
7+
<body>
8+
<h1>Intro to Node.js</h1>
9+
<p>Ain't that great?</p>
10+
</body>
11+
</html>

0 commit comments

Comments
 (0)