Home / File/ Route.js — express Source File

Route.js — express Source File

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

Entity Profile

Source Code

'use strict'

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

describe('Route', function(){
  it('should work without handlers', function(done) {
    var req = { method: 'GET', url: '/' }
    var route = new Route('/foo')
    route.dispatch(req, {}, done)
  })

  it('should not stack overflow with a large sync stack', function (done) {
    this.timeout(5000) // long-running test

    var req = { method: 'GET', url: '/' }
    var route = new Route('/foo')

    route.get(function (req, res, next) {
      req.counter = 0
      next()
    })

    for (var i = 0; i < 6000; i++) {
      route.all(function (req, res, next) {
        req.counter++
        next()
      })
    }

    route.get(function (req, res, next) {
      req.called = true
      next()
    })

    route.dispatch(req, {}, function (err) {
      if (err) return done(err)
      assert.ok(req.called)
      assert.strictEqual(req.counter, 6000)
      done()
    })
  })

  describe('.all', function(){
    it('should add handler', function(done){
      var req = { method: 'GET', url: '/' };
      var route = new Route('/foo');

      route.all(function(req, res, next) {
        req.called = true;
        next();
      });

      route.dispatch(req, {}, function (err) {
        if (err) return done(err);
        assert.ok(req.called)
        done();
// ... (215 more lines)

Frequently Asked Questions

What does Route.js do?
Route.js is a source file in the express codebase, written in javascript.
Where is Route.js in the architecture?
Route.js is located at test/Route.js (directory: test).

Analyze Your Own Codebase

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

Try Supermodel Free