1.0.0 • Published 9 years ago
mime-rpt v1.0.0
Example
var MimeRpt = require('mime-rpt');
var http = require('http');
var mimeRpt = new MimeRpt();
//Definition accept types and weight
mimeRpt.accept(['html','json', 'xml']);
/*
* Pattern 2
* mimeRpt.accept('html', function (req, res, next){});
*/
mimeRpt.html(function (req, res, next){
res.writeHead(200,{'Content-Type': this.mime});
//...
}).json(function (req, res, next){
res.writeHead(200,{'Content-Type': this.mime});
//...
}).xml(function (req, res, next){
res.writeHead(200,{'Content-Type': this.mime});
//...
}).def(function (req, res, next){//When no matched or accept is '*/*'
//...
});
var app = http.createServer(function (req, res){
//mimeRpt.handle(req, res, next [, arg...]);
mimeRpt.handle(req, res, function (err){
if(err){
res.writeHead(500);
res.end('Server error!');
throw err;
} else {
res.writeHead(404);
res.end('The MIME type of no support!');
}
});
});
app.listen(1337);
Example for express
var express = require('express');
var MimeRpt = require('mime-rpt');
var mimeRpt = new MimeRpt();
mimeRpt.accept(['html','json']);
mimeRpt.html(function (req, res, next){
res.writeHead(200,{'Content-Type': this.mime});
res.end('html');
}).json(function (req, res, next){
res.writeHead(200,{'Content-Type': this.mime});
res.end('json');
}).def(function (req, res, next){
next();
});
var app = express();
app.get('/', function (req, res, next) {
mimeRpt.handle(req, res, next);
})
app.listen(1337);
1.0.0
9 years ago