Home / File/ app.router.js — express Source File

app.router.js — express Source File

Architecture documentation for app.router.js, a javascript file in the express codebase.

Entity Profile

Relationship Graph

Source Code

'use strict'

var after = require('after');
var express = require('../')
  , request = require('supertest')
  , assert = require('node:assert')
  , methods = require('../lib/utils').methods;

var shouldSkipQuery = require('./support/utils').shouldSkipQuery

describe('app.router', function () {
  it('should restore req.params after leaving router', function (done) {
    var app = express();
    var router = new express.Router();

    function handler1(req, res, next) {
      res.setHeader('x-user-id', String(req.params.id));
      next()
    }

    function handler2(req, res) {
      res.send(req.params.id);
    }

    router.use(function (req, res, next) {
      res.setHeader('x-router', String(req.params.id));
      next();
    });

    app.get('/user/:id', handler1, router, handler2);

    request(app)
      .get('/user/1')
      .expect('x-router', 'undefined')
      .expect('x-user-id', '1')
      .expect(200, '1', done);
  })

  describe('methods', function () {
    methods.forEach(function (method) {
      if (method === 'connect') return;

      it('should include ' + method.toUpperCase(), function (done) {
        if (method === 'query' && shouldSkipQuery(process.versions.node)) {
          this.skip()
        }
        var app = express();

        app[method]('/foo', function (req, res) {
          res.send(method)
        });

        request(app)
        [method]('/foo')
          .expect(200, done)
      })

      it('should reject numbers for app.' + method, function () {
        var app = express();
        assert.throws(app[method].bind(app, '/', 3), /argument handler must be a function/);
// ... (1158 more lines)

Domain

Subdomains

Functions

Frequently Asked Questions

What does app.router.js do?
app.router.js is a source file in the express codebase, written in javascript. It belongs to the ExpressCore domain, MiddlewarePipeline subdomain.
What functions are defined in app.router.js?
app.router.js defines 1 function(s): supportsRegexp.
Where is app.router.js in the architecture?
app.router.js is located at test/app.router.js (domain: ExpressCore, subdomain: MiddlewarePipeline, directory: test).

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free