Sha256: 39babdc797e81fabd96ef22f9357786241bc42ae93158b4ad6ca42648538aeb2

Contents?: true

Size: 916 Bytes

Versions: 28

Compression:

Stored size: 916 Bytes

Contents

/*!
 * 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();
  };
};

Version data entries

28 entries across 28 versions & 3 rubygems

Version Path
blackboard-3.1.9 lib/site_template/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js
vulcan-0.8.2 server/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js
vulcan-0.8.1 server/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js
vulcan-0.8.0 server/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js
vulcan-0.7.2 server/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js
vulcan-0.7.1 server/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js
vulcan-0.7.0 server/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js
vulcan-0.6.1 server/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js
vulcan-0.6.0 server/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js
vulcan-0.5.0 server/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js
vulcan-0.4.0 server/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js
vulcan-0.3.0 server/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js
vulcan-0.2.5 server/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js
vulcan-0.2.4 server/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js
vulcan-0.2.3 server/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js
vulcan-0.2.2 server/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js
vulcan-0.2.1 server/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js
vulcan-0.2.0 server/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js
vulcan-0.1.6 server/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js
vulcan-0.1.5 server/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js