express.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. /**
  2. * Module dependencies.
  3. */
  4. var connect = require('connect')
  5. , proto = require('./application')
  6. , Route = require('./router/route')
  7. , Router = require('./router')
  8. , req = require('./request')
  9. , res = require('./response')
  10. , utils = connect.utils;
  11. /**
  12. * Expose `createApplication()`.
  13. */
  14. exports = module.exports = createApplication;
  15. /**
  16. * Expose mime.
  17. */
  18. exports.mime = connect.mime;
  19. /**
  20. * Create an express application.
  21. *
  22. * @return {Function}
  23. * @api public
  24. */
  25. function createApplication() {
  26. var app = connect();
  27. utils.merge(app, proto);
  28. app.request = { __proto__: req, app: app };
  29. app.response = { __proto__: res, app: app };
  30. app.init();
  31. return app;
  32. }
  33. /**
  34. * Expose connect.middleware as express.*
  35. * for example `express.logger` etc.
  36. */
  37. for (var key in connect.middleware) {
  38. Object.defineProperty(
  39. exports
  40. , key
  41. , Object.getOwnPropertyDescriptor(connect.middleware, key));
  42. }
  43. /**
  44. * Error on createServer().
  45. */
  46. exports.createServer = function(){
  47. console.warn('Warning: express.createServer() is deprecated, express');
  48. console.warn('applications no longer inherit from http.Server,');
  49. console.warn('please use:');
  50. console.warn('');
  51. console.warn(' var express = require("express");');
  52. console.warn(' var app = express();');
  53. console.warn('');
  54. return createApplication();
  55. };
  56. /**
  57. * Expose the prototypes.
  58. */
  59. exports.application = proto;
  60. exports.request = req;
  61. exports.response = res;
  62. /**
  63. * Expose constructors.
  64. */
  65. exports.Route = Route;
  66. exports.Router = Router;
  67. // Error handler title
  68. exports.errorHandler.title = 'Express';