1.0.0 • Published 9 years ago

mime-rpt v1.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
9 years ago

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);