-
Notifications
You must be signed in to change notification settings - Fork 29
/
body-adapter.js
39 lines (30 loc) · 982 Bytes
/
body-adapter.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
var bogart = require('../lib/bogart')
, util = require('util')
, Stream = require('stream').Stream;
function HelloWorldStream() {
var self = this;
Stream.call(this);
this.readable = true;
process.nextTick(function() {
self.emit('data', '<html><head><title>Stream</title><body>');
process.nextTick(function() {
self.emit('data',
'This is an example of a Bogart route that returns a stream. '+
'<a href="/buffer">See a route that returns a Buffer</a></body></html>');
self.emit('end');
});
});
}
util.inherits(HelloWorldStream, Stream);
var router = bogart.router();
router.get('/', function() {
return new HelloWorldStream();
});
router.get('/buffer', function() {
return new Buffer('<html><head><title>Buffer</title></head>' +
'<body>This is an example of a Bogart route that returns a buffer.</body></html>');
});
var app = bogart.app();
app.use(bogart.middleware.bodyAdapter);
app.use(router);
app.start();