Sha256: 543365b0c80e8887aaba9844982f9be6abde5d364b451d23f77328eab3456f03

Contents?: true

Size: 984 Bytes

Versions: 26

Compression:

Stored size: 984 Bytes

Contents

/*!
 * Ext JS Connect
 * Copyright(c) 2010 Sencha Inc.
 * MIT Licensed
 */

/**
 * Module dependencies.
 */

var connect = require('./../index'),
    sys = require('sys');

/**
 * Extract url "formats" aka extensions from the request
 * url, and assigns req.`format`.
 *
 * Examples:
 *
 *      // curl http://localhost:3000/users.json
 *      handle: function(req, res, next){
 *         switch (req.format) {
 *             case 'json':
 *                 sys.puts(req.url);
 *                 // => "users"
 *                 // respond with json
 *                 break;
 *             default:
 *                 // respond with your default format
 *         }
 *      }
 *
 * @return {Function}
 * @api public
 */

module.exports = function format(){
    return function format(req, res, next) {
        if (/\.(\w+)($|#|\?)/.exec(req.url)) {
            req.format = RegExp.$1;
            req.url = req.url.replace('.' + req.format, '');
        }
        next();
    };
};

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
vulcan-0.8.2 server/node_modules/connect-form/support/connect/lib/connect/middleware/format.js
vulcan-0.8.1 server/node_modules/connect-form/support/connect/lib/connect/middleware/format.js
vulcan-0.8.0 server/node_modules/connect-form/support/connect/lib/connect/middleware/format.js
vulcan-0.7.2 server/node_modules/connect-form/support/connect/lib/connect/middleware/format.js
vulcan-0.7.1 server/node_modules/connect-form/support/connect/lib/connect/middleware/format.js
vulcan-0.7.0 server/node_modules/connect-form/support/connect/lib/connect/middleware/format.js
vulcan-0.6.1 server/node_modules/connect-form/support/connect/lib/connect/middleware/format.js
vulcan-0.6.0 server/node_modules/connect-form/support/connect/lib/connect/middleware/format.js
vulcan-0.5.0 server/node_modules/connect-form/support/connect/lib/connect/middleware/format.js
vulcan-0.4.0 server/node_modules/connect-form/support/connect/lib/connect/middleware/format.js
vulcan-0.3.0 server/node_modules/connect-form/support/connect/lib/connect/middleware/format.js
vulcan-0.2.5 server/node_modules/connect-form/support/connect/lib/connect/middleware/format.js
vulcan-0.2.4 server/node_modules/connect-form/support/connect/lib/connect/middleware/format.js
vulcan-0.2.3 server/node_modules/connect-form/support/connect/lib/connect/middleware/format.js
vulcan-0.2.2 server/node_modules/connect-form/support/connect/lib/connect/middleware/format.js
vulcan-0.2.1 server/node_modules/connect-form/support/connect/lib/connect/middleware/format.js
vulcan-0.2.0 server/node_modules/connect-form/support/connect/lib/connect/middleware/format.js
vulcan-0.1.6 server/node_modules/connect-form/support/connect/lib/connect/middleware/format.js
vulcan-0.1.5 server/node_modules/connect-form/support/connect/lib/connect/middleware/format.js
vulcan-0.1.4 server/node_modules/connect-form/support/connect/lib/connect/middleware/format.js