/*! * Connect - methodOverride * Copyright(c) 2010 Sencha Inc. * Copyright(c) 2011 TJ Holowaychuk * MIT Licensed */ /** * Provides faux HTTP method support. * * Pass an optional `key` to use when checking for * a method override, othewise defaults to _\_method_. * The original method is available via `req.originalMethod`. * * @param {String} key * @return {Function} * @api public */ module.exports = function methodOverride(key){ key = key || "_method"; return function methodOverride(req, res, next) { req.originalMethod = req.originalMethod || req.method; // req.body if (req.body && key in req.body) { req.method = req.body[key].toUpperCase(); delete req.body[key]; // check X-HTTP-Method-Override } else if (req.headers['x-http-method-override']) { req.method = req.headers['x-http-method-override'].toUpperCase(); } next(); };};
/*!
* Connect - methodOverride
* Copyright(c) 2010 Sencha Inc.
* Copyright(c) 2011 TJ Holowaychuk
* MIT Licensed
*/
/**
* Provides faux HTTP method support.
*
* Pass an optional `key` to use when checking for
* a method override, othewise defaults to _\_method_.
* The original method is available via `req.originalMethod`.
*
* @param {String} key
* @return {Function}
* @api public
*/
module.exports = function methodOverride(key){
key = key || "_method";
return function methodOverride(req, res, next) {
req.originalMethod = req.originalMethod || req.method;
// req.body
if (req.body && key in req.body) {
req.method = req.body[key].toUpperCase();
delete req.body[key];
// check X-HTTP-Method-Override
} else if (req.headers['x-http-method-override']) {
req.method = req.headers['x-http-method-override'].toUpperCase();
}
next();
};
};