3 * Connect - methodOverride
4 * Copyright(c) 2010 Sencha Inc.
5 * Copyright(c) 2011 TJ Holowaychuk
10 * Provides faux HTTP method support.
12 * Pass an optional `key` to use when checking for
13 * a method override, othewise defaults to _\_method_.
14 * The original method is available via `req.originalMethod`.
21 module.exports = function methodOverride(key){
22 key = key || "_method";
23 return function methodOverride(req, res, next) {
24 req.originalMethod = req.originalMethod || req.method;
27 if (req.body && key in req.body) {
28 req.method = req.body[key].toUpperCase();
30 // check X-HTTP-Method-Override
31 } else if (req.headers['x-http-method-override']) {
32 req.method = req.headers['x-http-method-override'].toUpperCase();