Comparar commits

...

2698 Commits

Autor SHA1 Mensagem Data
TJ Holowaychuk ee89ff5026 Release 3.0.0beta5 2012-07-03 10:20:19 -07:00
TJ Holowaychuk 8df9e745d5 Merge branch 'master' of github.com:visionmedia/express 2012-07-03 09:39:52 -07:00
TJ Holowaychuk c76e954504 upgrade connect dep 2012-07-03 09:30:53 -07:00
TJ Holowaychuk 136f054614 Merge pull request #1202 from strk/make_check
Add "make check" support.
2012-07-02 11:41:09 -07:00
Sandro Santilli e9a4b4f8ff Add "make check" support.
This is to follow GNU coding stadards. See:
www.gnu.org/prep/standards/html_node/Standard-Targets.html
2012-07-02 15:45:33 +02:00
TJ Holowaychuk 5415c98ff9 add route-map tests 2012-06-30 12:18:32 -07:00
TJ Holowaychuk 39efa452fc Added route-map example 2012-06-29 09:01:06 -07:00
TJ Holowaychuk bddcdee3fe docs 2012-06-27 13:58:35 -07:00
TJ Holowaychuk 2e8d44b444 docs 2012-06-27 13:36:12 -07:00
TJ Holowaychuk 70d68419b0 Added res.json(obj, status) support back for BC 2012-06-27 13:34:53 -07:00
TJ Holowaychuk 26fab2a27d update auth example to utilize cores pbkdf2 2012-06-27 13:20:39 -07:00
TJ Holowaychuk 0f5560eebd updated tests to use "supertest" 2012-06-26 17:14:07 -07:00
TJ Holowaychuk 170dcc2907 Added "methods" dep 2012-06-26 11:38:55 -07:00
TJ Holowaychuk 18d6c78ef4 fixed a test race condition 2012-06-25 12:42:51 -07:00
TJ Holowaychuk 1248f0338b Release 3.0.0beta4 2012-06-25 12:08:22 -07:00
TJ Holowaychuk b400814d00 Added req.auth
tests to come
2012-06-22 16:25:31 -07:00
TJ Holowaychuk a934929bb3 update connect dep 2012-06-22 10:48:07 -07:00
TJ Holowaychuk 140efb574c Revert "Added + support to the router"
This reverts commit 6aaa7dc26d.
2012-06-22 08:20:23 -07:00
TJ Holowaychuk 3c0c96114f Added res.send(body, status) support back for backwards compat 2012-06-21 16:37:26 -07:00
TJ Holowaychuk 362c96c8c1 refactor res.redirect() relative check 2012-06-21 08:25:43 -07:00
TJ Holowaychuk 5db3d0f9fc Merge branch 'master' of github.com:visionmedia/express 2012-06-18 09:37:37 -07:00
TJ Holowaychuk 80c814c393 Merge pull request #1182 from langpavel/patch-1
Refactoring: no need for add 'del' and 'all' to methods
2012-06-18 09:37:25 -07:00
TJ Holowaychuk bf66465937 Merge pull request #1183 from nullfirm/master
Re: [express] add hogan.js template engine for express@3.0 (#1176)
2012-06-17 21:36:24 -07:00
Min-su Ok 72eea7e6cd modify from --hjs to --hogan. 2012-06-18 13:17:51 +09:00
TJ Holowaychuk 8f4cd13c89 docs 2012-06-17 19:00:41 -07:00
Pavel Lang 6556cefc71 Refactoring: no need for add 'del' and 'all' to methods 2012-06-18 04:55:25 +03:00
TJ Holowaychuk 7bfb58920a docs 2012-06-17 18:08:35 -07:00
TJ Holowaychuk 2e324ccf5f docs 2012-06-17 18:08:14 -07:00
TJ Holowaychuk 1a10ee76b3 update range-parser dep 2012-06-17 18:06:04 -07:00
TJ Holowaychuk 619e6349f6 ws 2012-06-17 17:48:52 -07:00
TJ Holowaychuk b1ff68548f add inline range example 2012-06-17 17:41:28 -07:00
TJ Holowaychuk 376b6c3bad add note about inclusive ranges 2012-06-17 17:37:42 -07:00
TJ Holowaychuk f4c8a59b17 Added req.range(size) 2012-06-17 17:33:05 -07:00
TJ Holowaychuk e6129d8ba5 Added res.links(obj) 2012-06-17 16:34:42 -07:00
TJ Holowaychuk d2baf11b8a docs 2012-06-17 13:21:13 -07:00
TJ Holowaychuk 82b5b12ca7 Added .default() support to res.format() 2012-06-17 13:15:55 -07:00
TJ Holowaychuk c145ab9b81 Update mkdirp 2012-06-15 16:15:16 -07:00
TJ Holowaychuk c10223b803 GET / HEAD only for req.fresh 2012-06-15 16:09:32 -07:00
TJ Holowaychuk 1e09b54ad2 update fresh 2012-06-15 16:07:27 -07:00
TJ Holowaychuk d073e0aeb5 Added 2xx / 304 check to req.fresh 2012-06-15 16:03:20 -07:00
TJ Holowaychuk ce7293de13 misc 2012-06-15 15:44:44 -07:00
TJ Holowaychuk 108e66c24b Fixed res.send() freshness check, respect res.statusCode 2012-06-15 15:42:46 -07:00
TJ Holowaychuk f90401b8c0 Release 3.0.0beta3 2012-06-15 11:40:49 -07:00
TJ Holowaychuk a32e705d49 Merge branch 'master' of github.com:visionmedia/express 2012-06-15 11:39:04 -07:00
TJ Holowaychuk 640cf4ca21 Changed: res.send() always checks freshness 2012-06-15 11:38:51 -07:00
TJ Holowaychuk 442e782692 Merge pull request #1176 from nullfirm/master
add hogan.js template engine for express@3.0
2012-06-15 09:01:01 -07:00
Min-su Ok 0a874ad8b3 add hogan.js template engine for express@3.0 2012-06-14 18:44:53 +09:00
Min-su Ok 18083f0c13 add hogan.js template engine for express@3.0 2012-06-14 18:44:46 +09:00
TJ Holowaychuk f25aaf11e9 Added another example to content-negotiation 2012-06-13 17:32:44 -07:00
TJ Holowaychuk 9b09257b28 upgrade connect 2012-06-11 09:53:15 -07:00
TJ Holowaychuk f895516a2c Added fresh dep 2012-06-10 12:21:03 -07:00
TJ Holowaychuk 76aa718b75 update markdown docs 2012-06-08 14:11:52 -07:00
TJ Holowaychuk 0acee67339 Merge branch 'master' of github.com:visionmedia/express 2012-06-08 09:47:56 -07:00
TJ Holowaychuk 4475e335ef mime export test 2012-06-08 09:47:45 -07:00
TJ Holowaychuk 895673141d Fixed: expose connects mime module. Cloases #1165 2012-06-08 09:47:13 -07:00
TJ Holowaychuk e4cd99ae1c Merge pull request #1164 from danneu/patch-2
Removed extra "of" in `res.set` comment.
2012-06-07 08:52:04 -07:00
Dan Neumann c39a398d83 Removed extra "of" in res.set comment. 2012-06-07 00:17:45 -05:00
TJ Holowaychuk 2787bd5bf0 Release 3.0.0beta2 2012-06-06 14:46:52 -07:00
TJ Holowaychuk 6aaa7dc26d Added + support to the router 2012-06-06 14:38:22 -07:00
TJ Holowaychuk ebf60d2340 coerce res.cookie values to strings 2012-06-06 12:34:51 -07:00
TJ Holowaychuk 02d43846f6 fixing cookies for connect 2.3.1 2012-06-06 12:25:14 -07:00
TJ Holowaychuk 8930cd563c update connect dep 2012-06-06 12:00:35 -07:00
TJ Holowaychuk 2b90cd7d51 Added req.host 2012-06-05 19:24:49 -07:00
TJ Holowaychuk d5fde6a4b9 added test to illustrate req.params as an array 2012-06-05 19:02:28 -07:00
TJ Holowaychuk 99b2e0fa08 refactored req.param() 2012-06-05 18:59:26 -07:00
TJ Holowaychuk ebcb1ca90e Changed req.param() to check route first
body / query-string taking precedence is a little sketchy
but you should use this method sparingly, think of it
as PHPs $_REQUEST
2012-06-05 18:51:42 -07:00
TJ Holowaychuk 1763b073f9 docs 2012-06-04 09:48:19 -07:00
TJ Holowaychuk 908e467548 docs 2012-06-02 20:04:51 -07:00
TJ Holowaychuk 3c6ad5350b Release 3.0.0beta1 2012-06-01 12:27:19 -07:00
TJ Holowaychuk 0ff3aa4b20 update deps 2012-06-01 12:24:17 -07:00
TJ Holowaychuk fd42b5c42c mention res.format() callback 2012-06-01 09:15:35 -07:00
TJ Holowaychuk 1311f2ac25 Fixed res.redirect() 406. Closes #1154 2012-06-01 09:14:27 -07:00
TJ Holowaychuk 82a9817061 Release 3.0.0alpha5 2012-05-30 16:48:22 -07:00
TJ Holowaychuk 685eec0149 assertion for req.get() => undefined. Closes #1152 2012-05-30 14:25:43 -07:00
TJ Holowaychuk 910dae16ab misc refactor 2012-05-29 18:51:08 -07:00
TJ Holowaychuk fd53197b46 Added req.ip tests 2012-05-29 18:46:37 -07:00
TJ Holowaychuk d84d0b69ef Added req.ip 2012-05-29 18:46:07 -07:00
TJ Holowaychuk b694ba27be Changed: dont reverse req.ips
parse them as-is. im impartial about
the ordering but this spares some CPU. if you
prefer the other way let me know
2012-05-29 18:41:00 -07:00
TJ Holowaychuk e3cbac2d77 Fixed setting check for req.ips 2012-05-29 18:36:46 -07:00
TJ Holowaychuk bbaa295ee2 Merge branch 'master' of github.com:visionmedia/express 2012-05-27 11:53:06 -07:00
TJ Holowaychuk 1150a88001 Added { signed: true } option to res.cookie() 2012-05-27 11:51:32 -07:00
TJ Holowaychuk 58cfd60000 moved executable css middleware lower 2012-05-21 20:40:49 -03:00
TJ Holowaychuk fcf268742d update commander 2012-05-16 21:34:29 -03:00
TJ Holowaychuk 30d71c8f8f ocd 2012-05-14 08:49:37 -07:00
TJ Holowaychuk c3f9398b12 Merge pull request #1135 from adrianolaru/jade-default-doctype
Changed jade default doctype to html5
2012-05-12 06:32:38 -07:00
Adrian Olaru f1ac6ab764 changed jade default doctype to html5 2012-05-12 16:19:02 +03:00
TJ Holowaychuk d6ca5f71bc Added test for res.sendfile() express.static() options 2012-05-10 18:00:41 -07:00
TJ Holowaychuk cdca9cf88f Added res.download() body test 2012-05-10 17:15:50 -07:00
TJ Holowaychuk 5840b42f4a Added res.download() tests 2012-05-10 17:11:43 -07:00
TJ Holowaychuk a5be68b5b2 refactored res.get() tests 2012-05-10 13:59:27 -07:00
TJ Holowaychuk 9fda13bc25 Added url rewriting test 2012-05-10 13:13:03 -07:00
TJ Holowaychuk 125dd7a594 Prepared release 3.0.0alpha4 2012-05-09 15:18:21 -07:00
TJ Holowaychuk df2584cc3b Added: allow [] in jsonp callback. Closes #1128 2012-05-09 09:39:52 -07:00
TJ Holowaychuk 4de95c0e7b connect 2.2.2 2012-05-07 13:58:17 -07:00
TJ Holowaychuk 9ed1f2a446 Removed blog example
need a better one
2012-05-07 12:52:56 -07:00
TJ Holowaychuk 833a4873a4 misc refactor of blog example 2012-05-07 12:44:03 -07:00
TJ Holowaychuk 6ca1807372 Merge branch 'master' of github.com:visionmedia/express 2012-05-07 12:01:19 -07:00
TJ Holowaychuk 9da3e9ccc7 Merge pull request #1127 from benatkin/template-port-from-env
get port from env in template (fix for #1118)
2012-05-07 11:59:32 -07:00
Ben Atkin 5f65c36171 use get() with single argument to read setting vars 2012-05-07 12:51:41 -06:00
Ben Atkin d64bb2f886 use process.env.PORT. fix for #1118 2012-05-06 23:49:06 -06:00
TJ Holowaychuk fc179c8fc3 Prepared release 3.0.0alpha3 2012-05-04 17:19:27 -07:00
TJ Holowaychuk 8235af47fe Merge pull request #1124 from pyrotechnick/patch-1
path.existsSync is deprecated. It is now called `fs.existsSync`.
2012-05-04 08:59:10 -07:00
Nicholas Kinsey 908f3da3da path.existsSync is deprecated. It is now called fs.existsSync. 2012-05-05 00:32:53 +10:00
TJ Holowaychuk 64aac199de any engine 2012-05-03 17:33:09 -07:00
TJ Holowaychuk 503c45840f ws 2012-05-03 09:35:27 -07:00
TJ Holowaychuk 6f102ff40f Added view-locals example 2012-05-03 09:35:14 -07:00
TJ Holowaychuk 6e26a8d366 fixed two res.locals.use() tests 2012-05-03 08:45:07 -07:00
TJ Holowaychuk d9aea70ccc removed file heading comments 2012-05-03 08:43:42 -07:00
TJ Holowaychuk dd33ef2eb6 Added res.locals.use(). Closes #1120 2012-05-03 08:42:18 -07:00
TJ Holowaychuk f3a32f2e29 Changed: moved static() in generated apps below router 2012-05-02 19:05:47 -07:00
TJ Holowaychuk 1a3e40d818 Changed: res.send() only set ETag when not previously set 2012-05-02 16:20:35 -07:00
TJ Holowaychuk 18cdb3d845 Added public app.routes. Closes #887
keep things simple for now :)
2012-05-02 16:19:41 -07:00
TJ Holowaychuk 0fca62c037 misc refactoring 2012-05-02 15:59:48 -07:00
TJ Holowaychuk e9cd82b72d more * tests 2012-05-02 15:52:26 -07:00
TJ Holowaychuk 4d9ad21047 refactored * routing test 2012-05-02 15:49:38 -07:00
TJ Holowaychuk 1cc2dc7150 debug() originalUrl in router 2012-05-01 16:25:10 -07:00
TJ Holowaychuk 3dc88b2c0c refine express(1) generated stylus middleware 2012-04-30 17:54:16 -07:00
TJ Holowaychuk 53f1ffb4e7 ocd 2012-04-30 14:51:04 -07:00
TJ Holowaychuk 579a1be7c8 Added res.send() If-None-Match test 2012-04-28 20:02:38 -07:00
TJ Holowaychuk c0a68fcd0d Added Buffer ETag support to res.send() 2012-04-28 20:00:30 -07:00
TJ Holowaychuk b79853e9bd updated crc with buffer patch 2012-04-28 19:50:36 -07:00
TJ Holowaychuk f86838ceab connect 2.2.1 dep 2012-04-28 10:20:00 -07:00
TJ Holowaychuk 809e0b8c92 merged 2012-04-27 10:46:27 -07:00
TJ Holowaychuk a58e3deac2 Added conditional-GET support to res.send() 2012-04-27 10:44:39 -07:00
TJ Holowaychuk 430699c082 more benchmarks 2012-04-26 22:11:35 -07:00
TJ Holowaychuk b04233981f more benchmarks 2012-04-26 22:09:14 -07:00
TJ Holowaychuk de10194f33 build status image 2012-04-26 18:46:00 -07:00
TJ Holowaychuk 7c2e1ad0ed .contentType -> .type() in core 2012-04-26 14:32:28 -07:00
TJ Holowaychuk 67ddb429e3 Added: coerce res.set() values to strings
if you use res.get() this can bite you in the ass
if you set an etag to a number for example :)
good times
2012-04-26 13:52:37 -07:00
TJ Holowaychuk a169cc7119 render bench 2012-04-26 12:36:26 -07:00
TJ Holowaychuk 9719b58575 error/index.js 2012-04-26 04:57:28 -07:00
TJ Holowaychuk 13c18fa363 clean up error example 2012-04-26 04:56:23 -07:00
TJ Holowaychuk c17ad6ef65 error-pages/index.js 2012-04-26 04:55:24 -07:00
TJ Holowaychuk 2c14d0c966 clean up weird whitespace in error-pages acceptance tests 2012-04-26 04:55:06 -07:00
TJ Holowaychuk 2cd1783613 fixed hello-world 2012-04-26 04:53:56 -07:00
TJ Holowaychuk 06db11cd61 removed old form example 2012-04-26 04:51:48 -07:00
TJ Holowaychuk 125421ec45 removed old github example 2012-04-26 04:51:25 -07:00
TJ Holowaychuk cc84f40d61 misc 2012-04-26 04:46:37 -07:00
TJ Holowaychuk c130918135 more mvc acceptance tests 2012-04-26 04:42:22 -07:00
TJ Holowaychuk babeb4633e make test now runs unit / acceptance tests 2012-04-26 04:41:06 -07:00
TJ Holowaychuk 30167356f2 less verbose example apps when testing 2012-04-26 04:40:04 -07:00
TJ Holowaychuk 441b309959 Fixed req/res proto inheritance 2012-04-26 04:38:33 -07:00
TJ Holowaychuk b7b032f8e0 test for updating mvc user 2012-04-26 04:34:37 -07:00
TJ Holowaychuk 50f43462ae logger for mvc 2012-04-26 04:32:25 -07:00
TJ Holowaychuk bd2a972dba fixed mvc example 404 2012-04-26 04:28:29 -07:00
TJ Holowaychuk 3c162ae030 implement "before" middleware for mvc example 2012-04-26 04:23:21 -07:00
TJ Holowaychuk 3c12757d9e more tests 2012-04-26 04:10:57 -07:00
TJ Holowaychuk fa746cc027 added 404 and 5xx pages to mvc example 2012-04-26 04:08:58 -07:00
TJ Holowaychuk 1e85178c73 started mvc acceptance tests 2012-04-26 04:02:14 -07:00
TJ Holowaychuk d0bc0ad2ca Added new mvc example 2012-04-26 03:53:49 -07:00
TJ Holowaychuk c33f1bac08 mounted hw bench 2012-04-26 03:24:42 -07:00
TJ Holowaychuk 58d522d824 restore req/res proto 2012-04-26 03:22:44 -07:00
TJ Holowaychuk 858e4dccdc ws 2012-04-26 03:12:17 -07:00
TJ Holowaychuk c2054077f4 Release 3.0.0alpha2 2012-04-26 03:10:07 -07:00
TJ Holowaychuk 754dd320ff .npmignore lib-cov 2012-04-26 02:58:29 -07:00
TJ Holowaychuk a376980a69 update headers 2012-04-25 21:49:43 -07:00
TJ Holowaychuk cf7d710bc1 refactored res.sendfile() 2012-04-25 21:48:19 -07:00
TJ Holowaychuk 8f8740028c Fixed: use app.get() for all core settings 2012-04-25 21:40:53 -07:00
TJ Holowaychuk b0e03eb8a8 make expressInit() middleware self-aware 2012-04-25 21:37:10 -07:00
TJ Holowaychuk 929dc703ca unused var 2012-04-25 21:36:30 -07:00
TJ Holowaychuk 18a6bbfd80 docs 2012-04-25 17:59:02 -07:00
TJ Holowaychuk 73092c9898 Perf: memoize parsed urls 2012-04-25 16:12:40 -07:00
TJ Holowaychuk b739126707 Merge branch 'master' of github.com:visionmedia/express 2012-04-25 16:08:52 -07:00
TJ Holowaychuk c39cf1ef84 connect 2.2.0 dep 2012-04-25 16:07:43 -07:00
TJ Holowaychuk 861f6baa66 added some middleware to support/app.js 2012-04-25 15:00:49 -07:00
TJ Holowaychuk 25fe426266 more benchmarks 2012-04-25 14:54:21 -07:00
TJ Holowaychuk 85fc586ee5 added make benchmark back 2012-04-25 14:51:45 -07:00
TJ Holowaychuk 2a951e961b Merge pull request #1106 from benedmunds/master
Fixed reference to this.body.length in Post validation error when the body length is less than 10 characters
2012-04-25 10:49:58 -07:00
TJ Holowaychuk 42aeab500b Fixed redis session example 2012-04-25 10:30:56 -07:00
TJ Holowaychuk 808a8a314a Fixed session example. Closes #1105 2012-04-25 10:29:15 -07:00
TJ Holowaychuk b809041894 refactored res.send() 2012-04-25 09:38:59 -07:00
TJ Holowaychuk 1ddf0c8a42 Merge pull request #1100 from coolony/master
Make string object behave like string literals with res.send
2012-04-25 09:38:19 -07:00
Ben Edmunds d8caf209e3 Fixed reference to this.body.length in Post validation error when the body length is less than 10 characters. 2012-04-24 15:05:17 -04:00
Pierre Matri 22668555ad Fixed req.send tests for string objects 2012-04-22 14:06:13 +02:00
Pierre Matri 0f585931a4 Make string object behave like string literals with res.send 2012-04-22 13:49:50 +02:00
TJ Holowaychuk d03386571d alpha install docs 2012-04-19 19:03:25 -07:00
TJ Holowaychuk 72948068e2 try npm publishConfig 2012-04-19 18:51:46 -07:00
TJ Holowaychuk 97808383ed Added client-side data exposing example 2012-04-19 16:03:22 -07:00
TJ Holowaychuk de6f30042f re-generate docs 2012-04-18 17:42:17 -07:00
TJ Holowaychuk b5cee82604 doc typo 2012-04-18 17:42:13 -07:00
TJ Holowaychuk fab3e91973 app.engine() docs 2012-04-18 17:23:54 -07:00
TJ Holowaychuk c937c797c2 Added docs/express.md makefile target 2012-04-18 17:18:22 -07:00
TJ Holowaychuk 0ddc40ad7f Merge branch 'master' of github.com:visionmedia/express 2012-04-17 20:39:06 -07:00
TJ Holowaychuk e3f6faa350 removed layout-control example
no longer applies
2012-04-17 20:38:52 -07:00
TJ Holowaychuk cc69d50c60 remove mvc example
too large to actually be helpful... and annoying
to maintain :)
2012-04-17 20:37:55 -07:00
TJ Holowaychuk b55eb5acf5 removed format acceptance tests 2012-04-17 20:26:28 -07:00
TJ Holowaychuk ebabce9982 Fixed route-loading example 2012-04-17 20:26:09 -07:00
TJ Holowaychuk 037d3490ca removed format example 2012-04-17 20:21:05 -07:00
TJ Holowaychuk ba7bcbb0d6 Fixed cookie-sessions example 2012-04-17 20:20:39 -07:00
TJ Holowaychuk 79ce6eda6f Fixed multipart acceptance test 2012-04-17 20:18:33 -07:00
TJ Holowaychuk 9f7c9cfc4c added grey.png test fixture 2012-04-17 20:16:58 -07:00
TJ Holowaychuk 5dcc4f46db Fixed jade example 2012-04-17 20:15:17 -07:00
TJ Holowaychuk 2f54201774 Merge pull request #1081 from brianloveswords/fix-readme
Add protocol to fix link being interpreted as relative in README.md.
2012-04-16 10:07:13 -07:00
Brian J Brennan e8eef64601 Add protocol to fix link being interpreted as relative in README.md. 2012-04-16 12:43:51 -04:00
TJ Holowaychuk 27b1b5e3b3 docs 2012-04-16 08:53:16 -07:00
TJ Holowaychuk 5fa2f89542 Added res.header() and req.header() aliases for BC 2012-04-16 08:31:30 -07:00
TJ Holowaychuk c998b91c09 refactoring 2012-04-15 22:14:52 -07:00
TJ Holowaychuk 5be2395170 Fixed generated express dep. Closes #1078 2012-04-15 22:13:51 -07:00
TJ Holowaychuk b4cd6bb8f0 removed old route reflection methods 2012-04-15 21:01:33 -07:00
TJ Holowaychuk 7e81cad0bf Added new dox API docs 2012-04-15 21:01:17 -07:00
TJ Holowaychuk 856f3b3be6 removed old docs 2012-04-15 19:42:55 -07:00
TJ Holowaychuk 785ac87846 Added express.createServer() for BC 2012-04-15 19:02:57 -07:00
TJ Holowaychuk 75c29bd42a removed createServer() in readme 2012-04-15 13:25:58 -07:00
TJ Holowaychuk 221a46a396 require express in readme...
some people come to express before anything
else i guess
2012-04-15 11:57:38 -07:00
TJ Holowaychuk abe5cc7184 populate changelog 2012-04-15 11:40:31 -07:00
TJ Holowaychuk 12ada75cad updated history.md from 2x branch 2012-04-15 11:24:08 -07:00
TJ Holowaychuk 5a74d94558 require package.json for .version in express(1) 2012-04-15 11:23:16 -07:00
TJ Holowaychuk d1d3f310e9 Release 3.0.0alpha1 2012-04-15 11:21:40 -07:00
TJ Holowaychuk 089a83363f Changed: enable "jsonp callback" as a default 2012-04-15 11:20:25 -07:00
TJ Holowaychuk c28e6db428 update mkdirp dep 2012-04-15 11:18:38 -07:00
TJ Holowaychuk 05253272cb clarify ejs example 2012-04-13 09:16:16 -07:00
TJ Holowaychuk 12e087820c Added: res.format() sets Vary: Accept 2012-04-12 20:11:15 -07:00
TJ Holowaychuk 8dc001567b removed res.cache()
too specific
2012-04-12 19:46:53 -07:00
TJ Holowaychuk 9af3256f72 added jsonp test 2012-04-11 20:27:21 -07:00
TJ Holowaychuk cdd333a2e0 connect 2.1.2 dep 2012-04-11 14:35:28 -07:00
TJ Holowaychuk aa4ec8f3e2 fixed glob example 2012-04-11 13:56:08 -07:00
TJ Holowaychuk 5ea78cf259 ocd 2012-04-11 13:50:41 -07:00
TJ Holowaychuk 600eaea2d1 fixed acceptance tests 2012-04-11 12:49:18 -07:00
TJ Holowaychuk 81b15833f7 connect 2.1.1 dep 2012-04-11 12:03:00 -07:00
TJ Holowaychuk 9abc221559 connect 2.1.0 dep 2012-04-11 11:17:29 -07:00
TJ Holowaychuk 7048be2830 refactoring auth example 2012-04-11 11:17:12 -07:00
TJ Holowaychuk 91eb27513a docs 2012-04-11 10:08:12 -07:00
TJ Holowaychuk 04f0682439 removed old benchmark target from Makefile 2012-04-11 09:57:43 -07:00
TJ Holowaychuk 36bab5408d removed old doc gen stuff from Makefile 2012-04-11 09:57:12 -07:00
TJ Holowaychuk c483dab4b8 ocd 2012-04-11 09:44:49 -07:00
TJ Holowaychuk f1d759f279 Merge pull request #1073 from Zoramite/lessMiddleware
Adding support back in for less CSS.
2012-04-11 08:32:45 -07:00
Randy Merrill 4c1afb2984 Making the default case for the dependencies be more dynamic. 2012-04-11 06:54:14 -07:00
Randy Merrill db9b2bfbe1 Adding support back in for less CSS. 2012-04-11 06:50:45 -07:00
TJ Holowaychuk 377677cf30 Merge branch 'master' of github.com:visionmedia/express 2012-04-10 12:19:51 -07:00
TJ Holowaychuk 24a4e95ffe Changed to allow extname or type/subtype only. Closes #1072 2012-04-10 12:19:34 -07:00
TJ Holowaychuk 8fdd9e967a Merge pull request #1069 from Benjen/patch-1
Updated example usage of res.locals() as it contained an error.
2012-04-05 08:54:16 -07:00
Benjen acfa6a692e Updated example usage of res.locals() as it contained an error. 2012-04-05 23:37:56 +08:00
TJ Holowaychuk 67ca22b6e4 throw when callback is not given to app.engine() 2012-04-04 12:30:25 -07:00
TJ Holowaychuk ba413ee98d added another res.redirect() example 2012-04-04 08:43:12 -07:00
TJ Holowaychuk acc0e934cb ocd 2012-04-02 20:13:50 -07:00
TJ Holowaychuk 1d485840fd ocd 2012-04-02 20:13:31 -07:00
TJ Holowaychuk dcb147608a ocd 2012-04-02 20:01:13 -07:00
TJ Holowaychuk ddf24d1fd6 fixed markdown example 2012-04-02 20:00:53 -07:00
TJ Holowaychuk 886d7e6903 Merge pull request #1066 from cpedros/patch-1
Unused require of fs module
2012-04-02 16:00:38 -07:00
TJ Holowaychuk 2079ccbf42 updated signed cookie tests 2012-04-02 16:00:23 -07:00
TJ Holowaychuk 5ec88b0f6c typo 2012-04-02 15:56:58 -07:00
TJ Holowaychuk b0bcd27124 removed req.signedCookie tests, this is connect 2012-04-02 15:56:40 -07:00
TJ Holowaychuk 4dfee21e91 removed req.cookies tests, this is connect 2012-04-02 15:56:21 -07:00
TJ Holowaychuk 18fa2c9c7d removed debug() for .use()
connect does this now
2012-04-02 15:54:19 -07:00
TJ Holowaychuk 04d43d60b7 added nicer error messages for failed view lookup. Closes #1065 2012-04-02 15:47:10 -07:00
Pero Pejovic 419731ec41 Unused require of fs module 2012-04-02 15:44:06 -07:00
TJ Holowaychuk 082ba88084 tabs -> spaces 2012-04-02 15:41:04 -07:00
TJ Holowaychuk 09a8474521 router: moved params logic to Router#match() 2012-04-02 15:39:20 -07:00
TJ Holowaychuk 6d323d3ff7 added param decoding test 2012-04-02 15:15:05 -07:00
TJ Holowaychuk c4e003518a Merge branch 'master' of github.com:visionmedia/express 2012-04-02 15:09:51 -07:00
TJ Holowaychuk 9e251d14af Removed Collection 2012-04-02 15:09:39 -07:00
TJ Holowaychuk 9abba7d69a ocd 2012-04-02 15:07:41 -07:00
TJ Holowaychuk 0377540e2d utils: added pathRegexp() 2012-04-02 15:07:25 -07:00
TJ Holowaychuk e6a15f66fc Merge pull request #1064 from ahizzle/master
(trivial) Give express init middleware function an explicit name
2012-03-30 15:19:14 -07:00
Andy Hiew 1787fd1b52 Trivial: Give the middleware init function an explicit name.
Middleware stack printout before:
    NODE> app.stack
    [ { route: '', handle: [Function: query] },
      { route: '', handle: [Function] },
      { route: '', handle: [Function: favicon] },
      { route: '', handle: [Function: logger] },

    Middleware stack printout after:
    NODE> app.stack
    [ { route: '', handle: [Function: query] },
      { route: '', handle: [Function: expressInit] },
      { route: '', handle: [Function: favicon] },
      { route: '', handle: [Function: logger] },
2012-03-30 16:05:11 -06:00
TJ Holowaychuk 54c3d5c113 reverse req.ips array 2012-03-29 16:39:32 -07:00
TJ Holowaychuk 6d0f9a37a2 req.ipds doesnt need "trust proxy"
not really anyway, if you use this
you better trust it :)
2012-03-29 16:36:36 -07:00
TJ Holowaychuk 60dac4d2ff Merge branch 'master' of github.com:visionmedia/express 2012-03-29 16:27:16 -07:00
TJ Holowaychuk dd468fbe9a Added req.ips 2012-03-29 16:26:59 -07:00
TJ Holowaychuk 04ecf04832 Added X-Forwarded-Proto support to req.secure 2012-03-29 16:17:44 -07:00
TJ Holowaychuk 6d45616a7a Merge pull request #1062 from shtylman/06d2016ee
remove unused variable
2012-03-29 08:58:48 -07:00
Roman Shtylman 06d2016ee7 remove unused variable from Router.route 2012-03-28 22:43:49 -04:00
TJ Holowaychuk 984bfadcdd Merge pull request #1057 from Skookum/master
Update Connect Version
2012-03-27 08:34:29 -07:00
Jim Snodgrass f79f3f8b22 update connect version 2012-03-27 12:11:48 -03:00
TJ Holowaychuk ba570a9842 typo 2012-03-24 11:42:26 -07:00
TJ Holowaychuk 365a98d00f docs 2012-03-24 11:39:47 -07:00
TJ Holowaychuk 4e2677fe2c docs 2012-03-24 11:37:26 -07:00
TJ Holowaychuk d6d16b7899 Added req.accepts() comma-delimited string support 2012-03-24 11:36:52 -07:00
TJ Holowaychuk 86a9e0803a refactored utils.accepts() 2012-03-24 11:32:28 -07:00
TJ Holowaychuk fdf96922b5 added res.json() array test to illustrate that it works 2012-03-24 11:13:53 -07:00
TJ Holowaychuk d396761f76 refactored cookie-sessions example 2012-03-23 18:22:30 -07:00
TJ Holowaychuk 711519361c fixed content-negotiation example 2012-03-23 18:11:12 -07:00
TJ Holowaychuk e4827b8d89 more docs for req.accepts(arr) 2012-03-23 18:03:19 -07:00
TJ Holowaychuk 7ec7cb94f9 Merge branch 'master' of github.com:visionmedia/express 2012-03-23 17:59:08 -07:00
TJ Holowaychuk 298899d02c Added array support. Closes #1053 2012-03-23 17:58:41 -07:00
TJ Holowaychuk 43b35a4ae0 Added array support. Closes #1053 2012-03-23 17:58:15 -07:00
TJ Holowaychuk a7a8dcd617 Added note to express(1) for running the app 2012-02-29 16:11:39 -08:00
TJ Holowaychuk bdf0b26a12 Added node app for npm scripts.start Closes #1032 2012-02-29 16:10:35 -08:00
TJ Holowaychuk 73e87b6a2e connect 2.0 dep 2012-02-27 19:31:27 -08:00
TJ Holowaychuk ac3d002cb2 added "view cache" in production test 2012-02-26 11:56:49 -08:00
TJ Holowaychuk ada2d0c627 added app.param() array test 2012-02-26 11:52:23 -08:00
TJ Holowaychuk 286d3a1ff8 added another app.param() test 2012-02-26 11:50:32 -08:00
TJ Holowaychuk 937f01a225 added app.param() tests 2012-02-26 11:46:44 -08:00
TJ Holowaychuk c9559e03da ignore coverage.html 2012-02-23 21:35:17 -08:00
TJ Holowaychuk d115798d5b ocd 2012-02-23 21:34:48 -08:00
TJ Holowaychuk b6ee5fafd0 Added mocha test coverage support 2012-02-23 20:49:50 -08:00
TJ Holowaychuk 533b31237c optimize res.format() 2012-02-23 10:59:54 -08:00
TJ Holowaychuk 812a470122 docs 2012-02-23 10:58:57 -08:00
TJ Holowaychuk eb3105ef25 Added extname support to res.format(). Closes #1024 2012-02-23 10:58:06 -08:00
TJ Holowaychuk ffcaa04d2c renamed res.respondTo() to res.format()
since you are not really responding with it,
its basically as switch
2012-02-22 19:59:52 -08:00
TJ Holowaychuk a47660ba67 refactored res.redirect() with respondTo() 2012-02-22 19:58:36 -08:00
TJ Holowaychuk e2291184dc changed DEBUG express:routes to express:router 2012-02-22 19:29:24 -08:00
TJ Holowaychuk 4e332452b7 Added req.subdomains 2012-02-22 16:36:13 -08:00
TJ Holowaychuk e2f43df5e9 refactored app.render() 2012-02-22 09:04:59 -08:00
TJ Holowaychuk 141929cd6e typo 2012-02-21 10:23:20 -08:00
TJ Holowaychuk ec03968bd4 added test for respondTo() callback args 2012-02-21 09:30:05 -08:00
TJ Holowaychuk a21435cb05 updated content-negotiation example 2012-02-18 17:37:47 -08:00
TJ Holowaychuk bdfa6d1fe7 Added: res.respondTo() defaults the content-type 2012-02-18 17:23:02 -08:00
TJ Holowaychuk b565e258cb Added res.respondTo(obj) 2012-02-18 17:13:40 -08:00
TJ Holowaychuk 892b605ab5 shorten --force desc 2012-02-18 15:35:07 -08:00
TJ Holowaychuk 4d99352526 Merge pull request #1016 from tstrimple/master
Added the ability to force the install of express scaffolding to a non-empty directory.
2012-02-18 15:34:34 -08:00
tstrimple cbf0eaa429 "Add the ability to force install express to non-empty directory." 2012-02-18 23:00:56 +00:00
TJ Holowaychuk 80e16c8ca3 tweak multipart example 2012-02-18 14:14:09 -08:00
TJ Holowaychuk 0ae024afa8 Merge branch 'integration' 2012-02-18 14:06:45 -08:00
TJ Holowaychuk 73caacbd42 mounting sucks, removing this example 2012-02-18 14:06:41 -08:00
TJ Holowaychuk b667bda8f2 y u no space? 2012-02-18 14:06:22 -08:00
TJ Holowaychuk 463e38cf67 y u no space? 2012-02-18 14:05:57 -08:00
TJ Holowaychuk 83c8d65e3d styling 2012-02-18 14:05:05 -08:00
TJ Holowaychuk 9548e7d1e2 removed hello world acceptance tests 2012-02-18 14:04:25 -08:00
TJ Holowaychuk ee290d82d1 fixing acceptance tests 2012-02-18 14:04:11 -08:00
TJ Holowaychuk b75bb003bd fixed markdown example 2012-02-18 13:54:36 -08:00
TJ Holowaychuk 6c2194fdb4 smaller hello world 2012-02-18 13:52:31 -08:00
TJ Holowaychuk da61d8b639 fixed github example 2012-02-18 13:52:02 -08:00
TJ Holowaychuk 863ba199f6 stack is always shown 2012-02-18 13:49:08 -08:00
TJ Holowaychuk 161ebb354f removed old flash example 2012-02-18 13:48:32 -08:00
TJ Holowaychuk 1516ebf7f9 misc 2012-02-18 13:46:22 -08:00
TJ Holowaychuk 2820f2227d fixing downloads example 2012-02-18 13:45:44 -08:00
TJ Holowaychuk a078f5f5c1 docs 2012-02-18 13:41:44 -08:00
TJ Holowaychuk d0a83053d3 fixed up blog example messages 2012-02-18 13:41:10 -08:00
TJ Holowaychuk b6bc01abde fixing blog example 2012-02-18 13:28:56 -08:00
TJ Holowaychuk 196a1eb6ad set view engine for auth app 2012-02-18 13:20:23 -08:00
TJ Holowaychuk 593271f536 removed accessLogger from auth example 2012-02-18 13:18:00 -08:00
TJ Holowaychuk 0f24f715ba tweak auth example 2012-02-18 13:16:17 -08:00
Robert Sköld bb9bfa5618 Cleaned out comments from resource acceptance test. 2012-02-18 13:08:26 -08:00
Robert Sköld 8120a06cd6 Updated resource example with acceptnce test. 2012-02-18 13:08:26 -08:00
Robert Sköld a153082120 Updated params example with acceptance test. 2012-02-18 13:08:26 -08:00
Robert Sköld 970031e267 Updated multipart example with acceptance test. 2012-02-18 13:08:26 -08:00
Robert Sköld a819856f3f Updated mounting example with acceptance test. 2012-02-18 13:08:26 -08:00
Robert Sköld 4dbaaa2855 Updated markdown example with acceptance test. 2012-02-18 13:08:26 -08:00
Robert Sköld 0593cf4379 Updated helloworld example with acceptance test. 2012-02-18 13:08:26 -08:00
Robert Sköld cd0e5dbb4c Updated format example with acceptance test. 2012-02-18 13:08:26 -08:00
Robert Sköld 7cb1c3cabb Updated form example for 3.x (not working as it relies on req.flash()) 2012-02-18 13:08:26 -08:00
Robert Sköld 550b9101b8 Updated error-pages example with acceptance test. 2012-02-18 13:08:26 -08:00
Robert Sköld 9d9564568b Updated error example with acceptance tests. 2012-02-18 13:08:26 -08:00
Robert Sköld 7ea7a53e7c Updated downloads example with acceptance tests. 2012-02-18 13:08:25 -08:00
Robert Sköld ac387caf21 Added acceptance test for cookies. 2012-02-18 13:08:25 -08:00
Robert Sköld ad3f1e84aa Updated blog example for Jade inheritence. Passes tests. 2012-02-18 13:08:25 -08:00
Robert Sköld 2432a0dda5 Added acceptance test for blog example. 2012-02-18 13:08:25 -08:00
Robert Sköld 03e5919910 Refactored acceptence/auth. 2012-02-18 13:08:25 -08:00
Robert Sköld 277e35f8c8 Added RegExp support to support/http for asserting the body. 2012-02-18 13:08:25 -08:00
Robert Sköld 0dd5836f3f Updated auth acceptance test style. 2012-02-18 13:08:25 -08:00
Robert Sköld 9290f0d407 Cookie secret is a cookieParser() thing. 2012-02-18 13:08:25 -08:00
Robert Sköld 9bd3ad846e Silence while NODE_ENV=test 2012-02-18 13:08:25 -08:00
Robert Sköld a8c73649ce Updated auth example for express 3.x. With a test. 2012-02-18 13:08:25 -08:00
TJ Holowaychuk 6368ab49b4 ocd 2012-02-18 12:59:22 -08:00
TJ Holowaychuk 16b6a64ef9 refactored express(1) package.json generation 2012-02-18 12:50:16 -08:00
TJ Holowaychuk e46431ee0e ws 2012-02-18 12:47:31 -08:00
TJ Holowaychuk 2e4cf0aa5c update mime dep 2012-02-18 12:46:36 -08:00
TJ Holowaychuk 3f8a7f05e8 update commander dep 2012-02-18 12:46:26 -08:00
TJ Holowaychuk 3360613bcd Merge branch 'master' of github.com:visionmedia/express 2012-02-18 12:41:55 -08:00
TJ Holowaychuk f8a9cbe074 Added req.fresh and req.stale tests. Closes #998 2012-02-18 12:41:24 -08:00
TJ Holowaychuk 15f2e0c899 Merge pull request #1006 from eivindfjeldstad/router
Added support for arrays of paths
2012-02-17 08:42:39 -08:00
Tj Holowaychuk 6518e746c1 removed require "qs" as its no longer used. Closes #1014 2012-02-16 08:17:59 -08:00
Eivind Fjeldstad 38b046d6ad Added test for an array of paths 2012-02-12 16:26:32 +01:00
Eivind Fjeldstad 28d7750eda Added support for arrays of paths 2012-02-12 16:23:21 +01:00
Tj Holowaychuk e5fc85bddc moved a debug() down 2012-02-09 13:40:33 -08:00
Tj Holowaychuk 2a40571118 Added DEBUG=express:application support 2012-02-09 13:29:21 -08:00
Tj Holowaychuk f1aa57c57e more debug() 2012-02-09 13:15:45 -08:00
Tj Holowaychuk 0b876ece41 Added DEBUG=express:routes support 2012-02-09 13:12:13 -08:00
Tj Holowaychuk ca0bd1a0b5 Added "debug" dependency 2012-02-09 12:14:31 -08:00
Tj Holowaychuk 2d31b5df34 Removed "qs" dep, only connect has this now 2012-02-08 12:50:30 -08:00
Tj Holowaychuk 10f7ca0ebf upgrade deps 2012-02-08 12:03:25 -08:00
TJ Holowaychuk 85d6964874 Removed req.header(field) 2012-02-07 08:32:08 -08:00
TJ Holowaychuk 76fd462bcc Removed res.header(field, value) 2012-02-07 08:30:27 -08:00
TJ Holowaychuk c44f01879f utilize res.set() internally 2012-02-07 08:28:40 -08:00
TJ Holowaychuk fe27989a69 doc typo 2012-02-07 08:25:40 -08:00
TJ Holowaychuk b04f3eeede refactored req.xhr 2012-02-07 08:24:58 -08:00
TJ Holowaychuk 6ab61d023f docs 2012-02-07 08:21:32 -08:00
TJ Holowaychuk 4d87efc771 Added "trust proxy" setting 2012-02-07 08:19:30 -08:00
TJ Holowaychuk e47d368239 update node support docs 2012-02-07 04:55:38 -08:00
TJ Holowaychuk 5b1235addc replaced short contrib list with git-summary(1) output 2012-02-07 04:55:07 -08:00
TJ Holowaychuk 8c2c1240e1 removed old req.get() for now 2012-02-07 04:50:00 -08:00
TJ Holowaychuk 27e696b7b1 Added req.get() alias of req.header() 2012-02-07 04:49:12 -08:00
TJ Holowaychuk bfba98f532 Removed req.header() defaultValue support 2012-02-07 04:47:51 -08:00
TJ Holowaychuk 8de3ad50b2 refactored res.redirect() with req.protocol() 2012-02-07 04:43:35 -08:00
TJ Holowaychuk 2ba343d2b5 Added req.protocol() 2012-02-07 04:39:10 -08:00
TJ Holowaychuk ff92afa557 Added "json replacer" and "json spaces" settings. Closes #996 [credit to jed] 2012-02-07 03:30:34 -08:00
Tj Holowaychuk c3c0fb95a8 backported fix from 2.x for app.all() del method 2012-02-06 10:12:59 -08:00
Tj Holowaychuk bb56a094bb Added app.all() test 2012-02-06 10:07:49 -08:00
Tj Holowaychuk 2211943170 make express(1) generated deps * 2012-01-31 19:48:38 -08:00
TJ Holowaychuk 4eb8bc0857 Merge pull request #968 from peters/patch-1
Typo
2012-01-18 17:17:40 -08:00
Peter Rekdal Sunde fa51cb8d63 Typo 2012-01-19 02:14:30 +01:00
Tj Holowaychuk 706dec93a4 keywords 2012-01-17 09:51:49 -08:00
Tj Holowaychuk 7a32920448 Merge branch 'master' of github.com:visionmedia/express 2012-01-17 09:51:39 -08:00
Tj Holowaychuk 57a3899c1d removed connect-form dev dep 2012-01-17 09:51:27 -08:00
Tj Holowaychuk 374d159e0e update dependencies 2012-01-17 09:49:02 -08:00
TJ Holowaychuk 4f5a41b84f removed connect-form dep 2012-01-16 20:16:08 -08:00
TJ Holowaychuk a2f380fdd6 Merge pull request #955 from mmalecki/npm-test
Add `test` script
2012-01-08 17:08:10 -08:00
Maciej Małecki 301085e510 Add test script 2012-01-09 02:03:23 +01:00
TJ Holowaychuk af5b64a434 Merge pull request #951 from Raynos/patch-1
Gave the router a name.
2012-01-06 07:32:23 -08:00
Raynos fa088e37bc Gave the router a name. All the other connect middlewares are named functions. 2012-01-06 14:39:37 +00:00
Tj Holowaychuk 613bdc91e5 Merge branch 'master' of github.com:visionmedia/express 2012-01-02 08:28:40 -08:00
TJ Holowaychuk edfe50e713 Removed app.is() support 2011-12-30 15:10:51 -08:00
TJ Holowaychuk 26fb403ced Fixed req.is() with charsets 2011-12-30 15:04:41 -08:00
TJ Holowaychuk 014fb46449 Added req.is() tests 2011-12-30 15:01:34 -08:00
TJ Holowaychuk 144a88b109 Removed app.match() 2011-12-28 12:09:58 -07:00
TJ Holowaychuk 34c0d2509a test for route index state 2011-12-28 12:07:46 -07:00
TJ Holowaychuk a12a9e3fd9 tests for Router#match() 2011-12-28 12:03:50 -07:00
TJ Holowaychuk 8df73f3d83 renamed Router#_match() -> match() 2011-12-28 11:57:45 -07:00
TJ Holowaychuk 6dac874ff4 renamed Router#_route() -> route() 2011-12-28 11:55:11 -07:00
TJ Holowaychuk 81d25f6861 Merge branch 'feature/decouple-router' 2011-12-28 11:15:10 -07:00
TJ Holowaychuk c0c1975da6 decouple Router options. Closes #941 2011-12-28 11:14:57 -07:00
Tj Holowaychuk dd7af29103 mocha.opts 2011-12-20 17:37:06 -08:00
Tj Holowaychuk 85ea5f67f4 Merge branch 'master' of github.com:visionmedia/express 2011-12-20 13:33:14 -08:00
Tj Holowaychuk 8e3cb6174d added test for res.sendfile() content-type override 2011-12-20 13:32:39 -08:00
TJ Holowaychuk 6c01e9a43a Update bin/express 2011-12-20 08:33:54 -08:00
TJ Holowaychuk 6061670161 Merge pull request #939 from ksato9700/master
EOL style per platform
2011-12-20 08:33:12 -08:00
Ken Sato 7c66db2c45 Change the eol character based on platform type 2011-12-19 22:55:50 -08:00
TJ Holowaychuk 05e95ae55a misc 2011-12-18 07:41:08 -08:00
TJ Holowaychuk 416ad564d0 Added cookie-sessions example 2011-12-17 15:11:52 -08:00
TJ Holowaychuk 55f8f9bc42 added regression test for #847 2011-12-17 13:53:28 -08:00
TJ Holowaychuk 386a9e88b4 removed old tests 2011-12-17 13:43:51 -08:00
TJ Holowaychuk f6ca25edbe web-service acceptance tests 2011-12-17 12:44:55 -08:00
TJ Holowaychuk 1ea221aa4e fixed an acceptance test 2011-12-17 12:21:42 -08:00
TJ Holowaychuk d72a6666a1 removed ejs layout.ejs from express(1) 2011-12-17 12:16:52 -08:00
TJ Holowaychuk b69199f884 fixed express(1) jade tmpl inheritance 2011-12-17 12:15:12 -08:00
TJ Holowaychuk 65042c86a6 removed the use of .include.string() 2011-12-17 12:02:34 -08:00
TJ Holowaychuk d7dccfd56d removed the use of should.contain() 2011-12-17 12:02:11 -08:00
Tj Holowaychuk e60f4a5e1e Merge branch 'master' of github.com:visionmedia/express 2011-12-16 14:44:35 -08:00
Tj Holowaychuk fa3d4cbb23 move express(1) static() up
so people dont get confused when it receives sessions
2011-12-16 14:44:12 -08:00
TJ Holowaychuk 56d303ec09 Merge pull request #934 from siong1987/keywords
update keywords for search.npmjs.org
2011-12-15 09:10:09 -08:00
Teng Siong Ong 4600548b4d update keywords for search.npmjs.org 2011-12-15 11:06:08 -06:00
Tj Holowaychuk 7d24c2ba40 Fixed app.set() with undefined 2011-12-15 09:00:39 -08:00
Tj Holowaychuk b4ce57caec spec 2011-12-09 16:14:23 -08:00
Tj Holowaychuk 43c09b2eaa ejs test 2011-12-09 16:07:15 -08:00
Tj Holowaychuk b32fd0bee4 * dev deps 2011-12-09 15:55:41 -08:00
Tj Holowaychuk 3b6e96efa9 ejs tests 2011-12-09 15:29:09 -08:00
Tj Holowaychuk 29ef828b9c added first batch of acceptance tests for examples 2011-12-09 15:21:10 -08:00
Tj Holowaychuk 39ae443433 semi 2011-12-09 15:09:14 -08:00
Tj Holowaychuk c30c2f8d38 typo 2011-12-09 14:32:35 -08:00
Tj Holowaychuk 5757f875f2 Added X-Forwarded-Proto support to res.redirect(). Closes #927 2011-12-08 12:45:46 -08:00
Tj Holowaychuk e49c482a3f req.body takes precedence 2011-12-07 08:41:22 -08:00
Tj Holowaychuk a592d6c1aa misc 2011-12-06 16:53:05 -08:00
Tj Holowaychuk 88f154fecd Added support for .. in redirects as well 2011-12-06 16:44:15 -08:00
Tj Holowaychuk d7dfe3e812 expose router 2011-12-06 16:36:52 -08:00
Tj Holowaychuk 489265e3ca Added support for ./ in redirects 2011-12-06 16:32:48 -08:00
Tj Holowaychuk 3212a70a0c misc 2011-12-06 16:21:04 -08:00
Tj Holowaychuk 1cda0a96ca Removed redirect "home" 2011-12-06 16:13:42 -08:00
Tj Holowaychuk 83fb9f7548 removed a test 2011-12-06 16:12:42 -08:00
Tj Holowaychuk 43295289bf Removed app.redirect() 2011-12-06 16:04:06 -08:00
Tj Holowaychuk 0f72ca823b docs 2011-12-06 15:58:56 -08:00
Tj Holowaychuk 41786bc776 misc 2011-12-06 15:54:25 -08:00
Tj Holowaychuk cca5d7ebbf more tests 2011-12-06 15:53:17 -08:00
Tj Holowaychuk 43c8764465 Added relative redirect support. Closes #920 2011-12-06 15:50:08 -08:00
Tj Holowaychuk a1e325a2d9 use app.path() in res.redirect() 2011-12-06 15:40:17 -08:00
Tj Holowaychuk 17a831e32f app.path() 2011-12-06 15:36:44 -08:00
Tj Holowaychuk 2a13db3bb8 Added favicon() to express(1) generated app 2011-12-05 20:01:25 -08:00
Tj Holowaychuk eb5a73538a express(1) errorHandler() only in development
no longer acts as production error handling,
just implement that with custom middleware
2011-12-05 19:41:05 -08:00
Tj Holowaychuk 006a6c787b Added exports.{request,response} 2011-11-28 11:48:27 -08:00
Tj Holowaychuk c3d96df0f0 Added req.route test 2011-11-24 17:59:00 -08:00
Tj Holowaychuk 15e7218bc4 tests for app.get() inheritance. Closes #904 2011-11-24 15:27:09 -08:00
Tj Holowaychuk 28f32b9b8e Removed req.notify() 2011-11-24 15:12:25 -08:00
Tj Holowaychuk 1d0a56b673 removed uses of "root" 2011-11-24 14:33:23 -08:00
Tj Holowaychuk ad1424681b comment some tests 2011-11-24 14:31:42 -08:00
Tj Holowaychuk 87b991c076 removed "root" setting
screw it, no one will understand anyway
2011-11-24 14:27:28 -08:00
Tj Holowaychuk 5d593f26af .parent tests 2011-11-24 14:04:37 -08:00
Tj Holowaychuk 853c270fce more mounting tests 2011-11-24 13:51:04 -08:00
Tj Holowaychuk fcf34e0587 adding some mounting tests 2011-11-24 13:49:27 -08:00
Tj Holowaychuk b6611c8a3b Added: emit "mount" event on the app being mounted 2011-11-24 13:24:34 -08:00
Tj Holowaychuk aab08d774b Removed implementation of app.mounted(callback) 2011-11-24 13:20:10 -08:00
Tj Holowaychuk 321aa52384 Removed app.mounted(callback) 2011-11-24 13:19:53 -08:00
Tj Holowaychuk 1334a74ef1 misc refactoring 2011-11-24 12:50:19 -08:00
Tj Holowaychuk 19e3384bb1 Added test for res.sendfile() with non-GET. Closes #723 2011-11-24 12:34:47 -08:00
Tj Holowaychuk 6ae32fd596 docs 2011-11-24 12:22:59 -08:00
Tj Holowaychuk 4c316ba4ce refactored init middleware into its own file 2011-11-24 12:14:12 -08:00
Tj Holowaychuk f2719411b7 Added event emitter inheritance test 2011-11-24 12:10:08 -08:00
Tj Holowaychuk 11faf6684e Added travis.yml. Closes #903 2011-11-24 11:58:34 -08:00
Tj Holowaychuk 547d18ce46 merged 2011-11-23 10:39:02 -08:00
Tj Holowaychuk f183a81289 update mocha 2011-11-22 17:42:21 -08:00
TJ Holowaychuk e44c874cab Fixed parseQuality(), exclude q=0 2011-11-20 12:54:48 -08:00
TJ Holowaychuk 9c7380efe4 Added req.acceptsLanguage() 2011-11-20 12:53:01 -08:00
TJ Holowaychuk 5e071a2e4b Added req.acceptsCharset() 2011-11-20 12:51:27 -08:00
TJ Holowaychuk ff9b82c4f6 todo 2011-11-20 12:44:25 -08:00
TJ Holowaychuk a0d0ac6cff docs 2011-11-20 12:43:06 -08:00
TJ Holowaychuk b605a5de87 Changed: req.accepts() utilizing utils.accepts() 2011-11-20 12:42:06 -08:00
TJ Holowaychuk 36be2b0688 Added utils.accepts(type, str) 2011-11-20 12:41:12 -08:00
TJ Holowaychuk 376a5da705 Added req.accepts() tests 2011-11-20 12:24:05 -08:00
TJ Holowaychuk c25258b75c removed irrelevant extending-templates example 2011-11-20 12:17:29 -08:00
TJ Holowaychuk c685f3a294 docs 2011-11-20 12:16:04 -08:00
TJ Holowaychuk f63767af0e example error layout 2011-11-20 12:15:47 -08:00
TJ Holowaychuk 4fa9a2e54b fixed error-pages example 2011-11-20 12:13:24 -08:00
TJ Holowaychuk 68bc592a05 fixed error example 2011-11-20 12:03:45 -08:00
TJ Holowaychuk 543fe2f2a4 fixed ejs example 2011-11-20 11:59:10 -08:00
TJ Holowaychuk be52f38d8f fixed downloads example 2011-11-20 11:43:40 -08:00
TJ Holowaychuk 722a92f374 fixed cookies example 2011-11-20 11:33:06 -08:00
TJ Holowaychuk d771d06e19 docs 2011-11-20 11:29:08 -08:00
TJ Holowaychuk a5227191b5 fixed content-negotiation example 2011-11-20 11:28:12 -08:00
TJ Holowaychuk 499d3d6d78 Added req.acceptedCharsets 2011-11-19 22:16:16 -08:00
TJ Holowaychuk 2adf020753 tests 2011-11-19 22:13:07 -08:00
TJ Holowaychuk e8c373694c Added req.acceptedLanguages 2011-11-19 22:12:09 -08:00
TJ Holowaychuk a8fd8cb645 Added req.accepted 2011-11-19 22:08:26 -08:00
TJ Holowaychuk fd06084106 more tests 2011-11-19 21:49:20 -08:00
TJ Holowaychuk 285500488d Added parseAccepts() util 2011-11-19 21:47:22 -08:00
TJ Holowaychuk 29d4ffd089 renamed prev util to parseQuality() 2011-11-19 21:43:48 -08:00
TJ Holowaychuk fe5efa597b Added utils.parseAccepts(str) 2011-11-19 21:40:12 -08:00
TJ Holowaychuk b93629a903 updated mocha 2011-11-19 16:02:42 -08:00
Tj Holowaychuk 0c72940933 updated mocha 2011-11-17 07:52:32 -08:00
Tj Holowaychuk 96f5279e3e consider 20ms slow 2011-11-16 14:38:09 -08:00
Tj Holowaychuk 821fa10203 update mocha 2011-11-16 14:35:38 -08:00
Tj Holowaychuk 9082e74971 Added app.listen() as a shortcut for http.createServer(app).listen() 2011-11-11 17:22:25 -08:00
Tj Holowaychuk 7a7d77e7bd Removed toArray() util 2011-11-11 14:30:27 -08:00
Tj Holowaychuk ce2ec94e96 Added utils.escape(html) test 2011-11-11 14:29:23 -08:00
Tj Holowaychuk d56e5d6923 Added utils.flatten(arr) tests 2011-11-11 14:27:36 -08:00
Tj Holowaychuk 5221ecc055 utils.isAbsolute() tests 2011-11-11 14:26:43 -08:00
Tj Holowaychuk 6ac2c6f578 Added router next(err) test 2011-11-11 14:02:43 -08:00
Tj Holowaychuk 772b752fa5 Added more route matching tests 2011-11-11 14:01:10 -08:00
Tj Holowaychuk 3c002d08c2 fixed test due to HEAD change 2011-11-11 13:54:12 -08:00
Tj Holowaychuk 2876424240 Added optional app.head() support 2011-11-11 13:53:20 -08:00
Tj Holowaychuk 74a0177ec9 Added app.head() override test 2011-11-11 13:49:35 -08:00
Tj Holowaychuk da96844e9a Added app.head() test 2011-11-11 13:47:58 -08:00
Tj Holowaychuk 81652c8244 Added app.del() test 2011-11-11 13:46:44 -08:00
Tj Holowaychuk f17434c95b misc 2011-11-11 13:45:11 -08:00
Tj Holowaychuk 01e854b5d2 Added app.options() test 2011-11-11 13:44:42 -08:00
Tj Holowaychuk 42953c7c44 Fixed default OPTIONS behavior 2011-11-11 13:31:44 -08:00
Tj Holowaychuk 5e56446d26 Changed express.methods to include only those supported by node 2011-11-11 13:25:16 -08:00
Tj Holowaychuk 61652f4ad9 upper-case the name 2011-11-11 13:20:33 -08:00
Tj Holowaychuk fc1e84941d fixed head 2011-11-11 13:20:06 -08:00
Tj Holowaychuk 953eba0376 Added meta-generated tests for all HTTP methods supported 2011-11-11 13:18:50 -08:00
Tj Holowaychuk 5c032269e3 more tests 2011-11-11 13:04:08 -08:00
Tj Holowaychuk 1322d5a2c1 literal . test 2011-11-11 12:42:52 -08:00
Tj Holowaychuk 114f272906 escaped regexp test 2011-11-11 12:41:13 -08:00
Tj Holowaychuk 1286bbb982 naming capture groups 2011-11-11 12:36:16 -08:00
Tj Holowaychuk 9141c649e7 more tests 2011-11-11 12:34:09 -08:00
Tj Holowaychuk ff2242da31 tests for * 2011-11-11 12:32:14 -08:00
Tj Holowaychuk 730a419984 param single-segment test 2011-11-11 12:22:21 -08:00
Tj Holowaychuk 25bd7d7997 Added route regexp tests 2011-11-11 12:19:49 -08:00
Tj Holowaychuk 77c9d9207d Renamed "case sensitive routes" to "case sensitive routing"
to match "strict routing"
2011-11-11 12:14:35 -08:00
Tj Holowaychuk 1e77629f1f Added "strict routing" setting tests 2011-11-11 12:13:24 -08:00
Tj Holowaychuk 76f65456ab Added "case sensitive routes" tests 2011-11-11 12:10:38 -08:00
Tj Holowaychuk 26e20e7ae5 more routing tests 2011-11-11 12:06:30 -08:00
Tj Holowaychuk 96217cf3fe optional trailing slash 2011-11-11 12:05:18 -08:00
Tj Holowaychuk e9c96d8ccd tests for optional capture groups 2011-11-11 12:04:17 -08:00
Tj Holowaychuk 7ae2b968bb more routing tests 2011-11-11 11:54:56 -08:00
Tj Holowaychuk 83ea42afe5 started routing tests 2011-11-11 11:51:09 -08:00
Tj Holowaychuk 16587fcce1 Added req.param() default value test 2011-11-10 16:13:31 -08:00
Tj Holowaychuk ffded44f32 Added req.param() tests. Closes #885 2011-11-10 16:11:50 -08:00
Tj Holowaychuk 92c5284b80 fixed auto use(app.router) 2011-11-10 16:11:35 -08:00
Tj Holowaychuk f96102224c refactoring 2011-11-10 15:04:44 -08:00
Tj Holowaychuk bf87d626eb docs 2011-11-10 15:01:22 -08:00
Tj Holowaychuk e21a79dc61 Added res.cache() method 2011-11-10 15:00:50 -08:00
Tj Holowaychuk caec590fe1 Added res.cache(str) 2011-11-10 14:54:23 -08:00
Tj Holowaychuk 61ce6c59c2 misc 2011-11-10 14:48:00 -08:00
Tj Holowaychuk 205a1a14c7 Aded app.locals.use() precedence tests 2011-11-10 14:14:09 -08:00
Tj Holowaychuk 6709ab5f27 jade 0.17.x 2011-11-10 13:55:21 -08:00
Tj Holowaychuk 2d77279c94 Merge branch 'view-signature' 2011-11-10 13:42:14 -08:00
Tj Holowaychuk e9d7b6fbad Changed template engine signature to engine.__express(path, options, fn). Closes #878 2011-11-10 13:42:08 -08:00
Tj Holowaychuk 3e6171c7ff Fixed express(1) LF -> CRLF for windows. Closes #875 2011-11-10 12:29:49 -08:00
Tj Holowaychuk 04389fd6ff test for invalid cookie signature 2011-11-10 12:20:13 -08:00
Tj Holowaychuk a47b599048 Added req.signedCookies tests 2011-11-10 12:18:16 -08:00
Tj Holowaychuk 58eddd5ab4 Added res.signedCookie() and tests. Closes #880 2011-11-10 12:14:33 -08:00
Tj Holowaychuk 7ac857acef Added JSON cookie support & tests. Closes #879 2011-11-10 12:04:21 -08:00
Tj Holowaychuk e27b224933 make sure req/res protos are app-specific 2011-11-10 11:31:38 -08:00
Tj Holowaychuk 4f087df286 Added res proto mutation test 2011-11-10 11:29:35 -08:00
Tj Holowaychuk 87f6f6a3e3 Added app.request test 2011-11-10 11:25:54 -08:00
Tj Holowaychuk 94d1e94cf2 Added app.{request,response} 2011-11-10 11:21:24 -08:00
Tj Holowaychuk d249868e07 no longer manipulate the req/res protos directly 2011-11-10 11:18:43 -08:00
Tj Holowaychuk 429e48d873 Added app.locals.settings test 2011-11-10 08:36:18 -08:00
Tj Holowaychuk abb414c702 Added app.locals.use() arity < 3 test 2011-11-10 08:26:36 -08:00
Tj Holowaychuk 8f45dd4190 Added res.render() absolute path tests 2011-11-10 08:24:10 -08:00
Tj Holowaychuk d9098c5fcd more tests 2011-11-10 08:23:12 -08:00
Tj Holowaychuk b9dee730a8 Fixed app.render() absolute path support 2011-11-10 08:22:42 -08:00
Tj Holowaychuk 26c62a667f Added app.locals.use() test 2011-11-10 08:19:57 -08:00
Tj Holowaychuk 7d42ad00ff Removed "status" and "charset" options 2011-11-10 07:47:04 -08:00
Tj Holowaychuk 4a5776b513 more res.locals tests 2011-11-09 17:02:55 -08:00
Tj Holowaychuk f68ba2ef35 refactoring 2011-11-09 16:56:57 -08:00
Tj Holowaychuk a95a0ab5f9 using connects error code util 2011-11-09 16:27:48 -08:00
Tj Holowaychuk 30911f4a75 Added failing res.sendfile() test for 403 + callback 2011-11-09 16:14:38 -08:00
Tj Holowaychuk c9f184c8d5 Added res.sendfile() ENOENT test 2011-11-09 16:11:46 -08:00
Tj Holowaychuk 545f1fd07d Added first res.sendfile() callback test 2011-11-09 16:06:12 -08:00
Tj Holowaychuk 2f762265a8 Added forbidden tests 2011-11-09 16:03:42 -08:00
Tj Holowaychuk 7e6d8f39b4 Added res.sendfile() "root" setting test 2011-11-09 15:56:24 -08:00
Tj Holowaychuk bea74b7711 Fixed res.sendfile() 404s 2011-11-09 15:54:51 -08:00
Tj Holowaychuk 10e8dc57eb added failing res.sendfile() test on 404 2011-11-09 15:51:11 -08:00
Tj Holowaychuk f7b6dde086 refactored previous commit 2011-11-09 15:41:51 -08:00
Tj Holowaychuk 2fa36fa721 res.sendfile() tests 2011-11-09 15:39:53 -08:00
Tj Holowaychuk 40f8202402 utilize res.headerSent from connect 2011-11-09 15:38:48 -08:00
Tj Holowaychuk 4b0b55c1b7 misc refactoring 2011-11-09 15:33:54 -08:00
Tj Holowaychuk 0e395973c9 Added res.attachment() tests 2011-11-09 15:31:31 -08:00
Tj Holowaychuk 1f53cdb62d Added error in res.render() callback test 2011-11-09 15:21:38 -08:00
Tj Holowaychuk c32023d8ed Added "charset" option test 2011-11-09 15:17:44 -08:00
Tj Holowaychuk d2f98940d8 Added status option test 2011-11-09 15:15:55 -08:00
Tj Holowaychuk 536b16c7a9 Added res.render() callback with locals test 2011-11-09 15:11:07 -08:00
Tj Holowaychuk 9bfeae2df1 Added res.render() callback tests 2011-11-09 15:09:47 -08:00
Tj Holowaychuk 4d450ea25e local precedence tests 2011-11-09 15:04:52 -08:00
Tj Holowaychuk 84f01d1e30 Added res.render() tests 2011-11-09 15:00:40 -08:00
Tj Holowaychuk 1a5636b199 case sensitivity test 2011-11-08 20:29:48 -08:00
Tj Holowaychuk af46df7eae Removed req.isXMLHttpRequest
let me know if you actually use this :)
2011-11-08 20:28:55 -08:00
Tj Holowaychuk 801a1791d6 Added req.xhr tests 2011-11-08 20:28:06 -08:00
Tj Holowaychuk 333cf0b280 Added req.path test 2011-11-08 20:25:34 -08:00
Tj Holowaychuk 52e26697a9 Added index.<engine> render test 2011-11-08 20:22:27 -08:00
Tj Holowaychuk fdf620b688 more tests 2011-11-08 20:18:07 -08:00
Tj Holowaychuk 66f8ca52d6 Added app.engine() tests 2011-11-08 20:14:53 -08:00
Tj Holowaychuk f98c1127a6 Added app.render() local precedence test 2011-11-08 20:09:13 -08:00
Tj Holowaychuk 7e352fe28d Added app.render() app.locals test 2011-11-08 20:07:49 -08:00
Tj Holowaychuk d3b48e2fd5 Added more app.render() tests 2011-11-08 20:06:15 -08:00
Tj Holowaychuk 23159c094d Added app.render() tests 2011-11-08 20:00:03 -08:00
Tj Holowaychuk 2e22887f71 docs 2011-11-08 19:55:41 -08:00
Tj Holowaychuk c9b04b8be7 Added app.locals(obj) test 2011-11-08 19:54:46 -08:00
Tj Holowaychuk 2c0e13b513 Added res.locals(obj) test 2011-11-08 19:53:22 -08:00
Tj Holowaychuk 2937309f00 Added res.charset tests 2011-11-08 19:46:38 -08:00
Tj Holowaychuk 377056a33c Removed "charset" option 2011-11-08 19:44:16 -08:00
Tj Holowaychuk f42ce5be2b qs 0.3.2 to fix global var leak 2011-11-08 19:43:12 -08:00
Tj Holowaychuk ddeee9b6db Added req.query tests 2011-11-08 19:27:09 -08:00
Tj Holowaychuk 6bee32c174 removed a file i didnt mean to add :) 2011-11-08 19:18:25 -08:00
Tj Holowaychuk 11f55a06dd Added app.redirect() tests 2011-11-08 19:17:03 -08:00
Tj Holowaychuk 6a2d6b872b pending 2011-11-08 19:10:09 -08:00
Tj Holowaychuk d8787867c4 tweak test 2011-11-08 19:01:20 -08:00
Tj Holowaychuk 43d9f6ea17 tweak res.redirect() mount route logic 2011-11-08 18:59:40 -08:00
Tj Holowaychuk 1faba1302f tmp fix 2011-11-08 18:51:15 -08:00
Tj Holowaychuk 55ee0a0934 Added relative redirect test 2011-11-08 18:46:23 -08:00
Tj Holowaychuk 0653f73779 Added res.redirect() content-negotiation tests 2011-11-08 18:41:26 -08:00
Tj Holowaychuk 7a24021dc9 more res.redirect() tests 2011-11-08 18:40:01 -08:00
Tj Holowaychuk 9f2fe94484 Added res.redirect() test 2011-11-08 18:36:27 -08:00
Tj Holowaychuk a3950b5638 Added maxAge test 2011-11-08 18:33:00 -08:00
Tj Holowaychuk 8c03428279 Added res.cookie() options test 2011-11-08 18:30:48 -08:00
Tj Holowaychuk f4d7ea386d Added res.cookie() "root" setting test 2011-11-08 18:28:59 -08:00
Tj Holowaychuk bee0496cb1 Fixed res.cookie() path default 2011-11-08 18:28:22 -08:00
Tj Holowaychuk 5960b90efe Added res.cookie() tests 2011-11-08 18:27:18 -08:00
Tj Holowaychuk 0f2f3d4e29 Fixed res.clearCookie(), default path to "root" setting 2011-11-08 18:25:21 -08:00
Tj Holowaychuk bc673bef79 Added res.clearCookie() tests 2011-11-08 18:21:08 -08:00
Tj Holowaychuk 3fb7391b97 Added res.set(object) and res.set(field, value) tests 2011-11-08 18:15:31 -08:00
Tj Holowaychuk 442cd7515d Added res.type() test 2011-11-08 18:13:10 -08:00
Tj Holowaychuk a013ffe547 Added res.json(status, object) test 2011-11-08 17:57:25 -08:00
Tj Holowaychuk 835558229f refactored tests 2011-11-08 17:55:41 -08:00
Tj Holowaychuk dce23c79a1 Added res.json() tests 2011-11-08 17:54:36 -08:00
Tj Holowaychuk 4106bae79e generated helper test methods from express.methods 2011-11-08 17:47:47 -08:00
Tj Holowaychuk b756474d9d Added res.send() HEAD tests 2011-11-08 17:46:08 -08:00
Tj Holowaychuk b0c9209726 Added res.send() 304 / 204 tests 2011-11-08 17:44:05 -08:00
Tj Holowaychuk c96b778771 dot reporter 2011-11-08 17:40:41 -08:00
Tj Holowaychuk d0d721d80b Added res.send(Object) test 2011-11-08 17:40:20 -08:00
Tj Holowaychuk 7b50a78662 Added res.send(null || undefined) tests 2011-11-08 17:38:18 -08:00
Tj Holowaychuk aa869c637a Added res.send() content-type tests 2011-11-08 17:36:24 -08:00
Tj Holowaychuk f467fe1cbf Added res.send(Buffer) test 2011-11-08 17:34:04 -08:00
Tj Holowaychuk 15fd639cd9 Added res.send(String) test 2011-11-08 17:32:58 -08:00
Tj Holowaychuk f96f2cf56e Added res.send(code, body) test 2011-11-08 17:31:51 -08:00
Tj Holowaychuk b0f6278cea Added res.send(code) test 2011-11-08 17:30:29 -08:00
Tj Holowaychuk ae7bac9a6b Added res.header() chaining test 2011-11-08 17:29:01 -08:00
Tj Holowaychuk c8997204d4 Added res.header() tests 2011-11-08 17:27:05 -08:00
Tj Holowaychuk a2c51984a8 Added res.get(field) test 2011-11-08 17:25:05 -08:00
Tj Holowaychuk ed93e33d59 another test 2011-11-08 17:23:53 -08:00
Tj Holowaychuk 6e15b1cd20 Removed mock from res.status() test, mocks are lame 2011-11-08 17:23:14 -08:00
Tj Holowaychuk cc2513facf res.status(code) test 2011-11-08 17:18:44 -08:00
Tj Holowaychuk e303dcc915 multi-env configure() callbacks 2011-11-08 17:15:09 -08:00
Tj Holowaychuk 8ad17abb7b app.configure() tests 2011-11-08 17:13:16 -08:00
Tj Holowaychuk 5b296b5257 middleware tests
that dont quite work yet because node is being a PITA
2011-11-08 17:02:15 -08:00
Tj Holowaychuk 1a5c32f3ef setting up middleware tests 2011-11-08 16:00:44 -08:00
Tj Holowaychuk a15e745d42 test for application prototype 2011-11-08 15:45:30 -08:00
Tj Holowaychuk d17dd3e3d8 more config tests 2011-11-08 15:42:22 -08:00
Tj Holowaychuk 51a5c829bb config test 2011-11-08 15:40:34 -08:00
Tj Holowaychuk 8a91749e12 merged 2011-11-08 15:25:56 -08:00
Tj Holowaychuk 42fc0f9ee8 more tests 2011-11-08 15:23:02 -08:00
Tj Holowaychuk 17ccd55d11 upgrade should 2011-11-08 15:19:53 -08:00
Tj Holowaychuk b8a589d76f first new test 2011-11-08 15:19:19 -08:00
Tj Holowaychuk becf6d9413 Added mocha dev-dep 2011-11-08 15:07:31 -08:00
Tj Holowaychuk 9efc4b23dc Remove old tests 2011-11-08 15:05:47 -08:00
Tj Holowaychuk 6b1dc31759 version -pre so people are less confused 2011-11-04 09:06:45 -07:00
Tj Holowaychuk 9205d632cc Fixing express(1) for upcomming express 2011-11-04 09:06:23 -07:00
Tj Holowaychuk a751346b20 port some express(1) stuff from 2.x 2011-11-04 09:01:43 -07:00
Tj Holowaychuk 8111a19307 Removed sass.js support from express(1) 2011-11-04 08:36:09 -07:00
TJ Holowaychuk 860b4f1a3b Merge pull request #873 from gugu/master
Express depends on commander@0.0.4, which does not support node.js 5
2011-10-30 12:25:11 -07:00
Andrii Kostenko a5b1aa9ca7 Update package.json 2011-10-30 23:20:05 +04:00
Tj Holowaychuk 62257bce18 Added app.routes, replacing app.routes.all(). Closes #811 2011-10-14 17:51:23 -07:00
Tj Holowaychuk 0ed74aa68b added an array of routes 2011-10-14 17:48:57 -07:00
Tj Holowaychuk e0bd0d6470 Added app.get(setting). Closes #842 2011-10-14 17:37:23 -07:00
Tj Holowaychuk b433550556 refactored res.render() 2011-10-14 08:46:02 -07:00
Tj Holowaychuk 04ebd8875b Fixed express(1) public dir for windows. Closes #866 2011-10-14 08:38:33 -07:00
Tj Holowaychuk 1a1ed0ae45 semicolons 2011-10-13 09:46:48 -07:00
Tj Holowaychuk d6fabb6f8e move getters down 2011-10-13 09:46:26 -07:00
Tj Holowaychuk 08e8194db1 Merge branch 'master' of github.com:visionmedia/express 2011-10-13 09:45:59 -07:00
Tj Holowaychuk 0e4e050b21 Added req.fresh and req.stale
lame usage example:

app.get('/user/:id', function(req, res){
  var id = req.params.id;

  res.set('ETag', 'user-' + id);

  if (req.fresh) return res.send(304);
  setTimeout(function(){
    res.send('large expensive user response ' + id);
  }, 2000);
});
2011-10-13 09:43:31 -07:00
Tj Holowaychuk de17b285b1 Added req.secure 2011-10-11 09:45:01 -07:00
TJ Holowaychuk f640d0973d Merge pull request #863 from JonDum/master
Added JSHTML template engine for cli helper :)
2011-10-10 21:52:31 -07:00
Jonathan Dumaine 47ff0dc0cc Add JSHTML template engine for cli helper
JSHTML is a express compatible template engine 
with very nice syntax.

https://github.com/LuvDaSun/jshtml
2011-10-10 21:49:44 -07:00
Tj Holowaychuk 965e1d63dc added sync signature for app.locals.use() 2011-10-09 13:08:20 -07:00
Tj Holowaychuk 73f1da2ff7 Added replacement for dynamic locals. Closes #788 2011-10-09 13:01:32 -07:00
Tj Holowaychuk 0f6ad43e91 app.locals.use(fn) 2011-10-09 12:54:15 -07:00
Tj Holowaychuk 8d804a6c4a removed old app.locals() 2011-10-09 12:51:27 -07:00
Tj Holowaychuk 02f48aabbf map register function 2011-10-07 15:25:16 -07:00
Tj Holowaychuk d4b08e9566 misc 2011-10-07 15:18:00 -07:00
Tj Holowaychuk 9f1f58fd4b non-enumerable .router for Collection 2011-10-07 15:13:13 -07:00
Tj Holowaychuk 4ed92d50e0 misc refactoring 2011-10-07 15:12:24 -07:00
Tj Holowaychuk 8848004cb7 refactoring boot logic 2011-10-07 15:10:30 -07:00
Tj Holowaychuk 371b381074 more refactoring 2011-10-07 15:04:08 -07:00
Tj Holowaychuk 6d47011dcf View#contents() 2011-10-07 15:01:36 -07:00
Tj Holowaychuk 705cdb6368 misc refactoring 2011-10-07 15:00:20 -07:00
Tj Holowaychuk 90fc80fd87 docs 2011-10-07 14:59:42 -07:00
Tj Holowaychuk 041974ee01 added index lookup support back 2011-10-07 14:58:58 -07:00
Tj Holowaychuk 7369d861ca docs 2011-10-07 14:52:26 -07:00
Tj Holowaychuk e1da383aed new View 2011-10-07 14:51:06 -07:00
Tj Holowaychuk 6bcf29152f misc refactoring 2011-10-07 14:25:09 -07:00
Tj Holowaychuk 8a38211bd9 re-implemented "view cache" 2011-10-07 14:16:05 -07:00
Tj Holowaychuk cb2b9feb5f docs 2011-10-07 14:13:13 -07:00
Tj Holowaychuk c2d5d5619b lookup callback 2011-10-07 14:12:37 -07:00
Tj Holowaychuk 76b7d6975f app.lookup() 2011-10-07 14:11:08 -07:00
Tj Holowaychuk 7e9186d1ae removed hints setting 2011-10-07 14:08:06 -07:00
Tj Holowaychuk d1ce4c9923 req.query is always present 2011-10-07 14:04:59 -07:00
Tj Holowaychuk fed7fa4cd2 removed old parseRange util 2011-10-07 13:56:14 -07:00
Tj Holowaychuk 0d0125fc29 removed union util 2011-10-07 13:50:59 -07:00
Tj Holowaychuk 98e2c0522f merging res.locals 2011-10-07 13:50:31 -07:00
Tj Holowaychuk 294bc8c1d7 misc refactoring 2011-10-07 13:34:03 -07:00
Tj Holowaychuk ae11d83684 typo 2011-10-07 13:31:12 -07:00
Tj Holowaychuk aab9b08ec2 added charset option back 2011-10-07 13:30:33 -07:00
Tj Holowaychuk 31ff7db019 added status support back 2011-10-07 13:29:25 -07:00
Tj Holowaychuk c40c54fbee request-level render() 2011-10-07 13:27:43 -07:00
Tj Holowaychuk cecbaf2efe removed old view.js 2011-10-07 13:22:55 -07:00
Tj Holowaychuk e90413243e use app.engines instead of app.cache 2011-10-07 13:21:01 -07:00
Tj Holowaychuk a9396efeaf added app.register() 2011-10-07 13:19:29 -07:00
Tj Holowaychuk 60353c6d05 misc refactoring 2011-10-07 13:13:57 -07:00
Tj Holowaychuk 7b5ed50786 expose prototype 2011-10-07 13:13:32 -07:00
Tj Holowaychuk 02baa2b17c removed old http.js 2011-10-07 13:12:53 -07:00
Tj Holowaychuk d0585bd910 application.js 2011-10-07 13:10:15 -07:00
Tj Holowaychuk adf7124446 removed extra require() 2011-10-07 13:07:55 -07:00
Tj Holowaychuk 7710db4591 re-working view system 2011-10-07 13:07:19 -07:00
Tj Holowaychuk ce03cf49d8 uncommented old code 2011-10-07 10:01:30 -07:00
Tj Holowaychuk 65c0d14a4e expose connect middleware as express.* again 2011-10-07 10:00:10 -07:00
Tj Holowaychuk 667ed6fcf5 using connect.proto.use 2011-10-07 09:29:36 -07:00
Tj Holowaychuk d7da40642d removed old https inheritance logic 2011-10-07 09:24:17 -07:00
Tj Holowaychuk d6b5047511 setting up proto 2011-10-07 09:23:54 -07:00
Tj Holowaychuk 3b5a751b25 add connect repo as dep for now, since 2.0.0alpha blew everything up 2011-10-07 09:18:04 -07:00
Tj Holowaychuk 8a7491c97a "node":">= 0.5.0 < 0.7.0" 2011-10-05 15:08:50 -07:00
Tj Holowaychuk b3cab31cf7 connect 2.x dep 2011-10-05 15:04:43 -07:00
Tj Holowaychuk 021655a10a Added support for res.set(obj). Closes #834 2011-10-05 14:34:00 -07:00
Tj Holowaychuk e301d43704 Changed res.redirect() signature to accept status first. Closes #832
to match the others
2011-10-05 14:24:57 -07:00
Tj Holowaychuk 54c1a208c3 Added res.type() alias of res.contentType() 2011-09-28 10:27:13 -07:00
Tj Holowaychuk ad9bbda708 bench against loopback 2011-09-27 16:55:49 -07:00
Tj Holowaychuk 341e167eab comma last! 2011-09-21 15:35:30 -07:00
Tj Holowaychuk fb031d1ad5 Added mkdirp to express(1). Closes #795 2011-09-21 08:25:47 -07:00
Tj Holowaychuk d3937b9a61 Fixed res.redirect() HEAD support 2011-09-07 10:03:17 -07:00
Tj Holowaychuk 2c734e2e4c refactored res.send() 2011-09-07 10:02:27 -07:00
Tj Holowaychuk 77d8823261 misc refactoring 2011-09-06 15:19:05 -07:00
Tj Holowaychuk 6f85c14738 docs 2011-09-06 15:18:15 -07:00
Tj Holowaychuk edb1dc067a Fixed req.notify(), only escape args 2011-09-06 15:15:52 -07:00
Tj Holowaychuk 6b161d5389 Removed npm test script 2011-08-31 09:32:37 -07:00
Tj Holowaychuk c21e3feaa6 Fixed absolute path checking on windows. Closes #829 [reported by andrewpmckenzie] 2011-08-29 08:40:42 -07:00
Tj Holowaychuk a25ef01da3 Fixed multiple param callback regression. Closes #824 [reported by TroyGoode] 2011-08-22 10:05:16 -07:00
Tj Holowaychuk 0534266490 Merge branch 'master' of github.com:visionmedia/express 2011-08-22 10:05:13 -07:00
Tj Holowaychuk 71aca3c199 fixed some tests 2011-08-22 09:51:22 -07:00
TJ Holowaychuk 72fab80a74 Merge pull request #821 from pikeas/patch-1
Fixing typo: interacte -> interact
2011-08-21 10:40:42 -07:00
pikeas c8ab058842 Fixing typo: interacte -> interact 2011-08-22 16:11:15 +09:00
Tj Holowaychuk b166fd7d6e local -> localhost
most people wont have things set up the same as me
so this is probably not a good idea :D
2011-08-20 15:53:16 -07:00
Tj Holowaychuk 9545face97 mime 1.2.2 dep 2011-08-20 04:29:19 -07:00
Tj Holowaychuk 6dacd51b81 connect 1.6.2 dep 2011-08-20 04:28:48 -07:00
Tj Holowaychuk 571a182712 Added logger() to generated express(1) app 2011-08-20 04:02:33 -07:00
Tj Holowaychuk e3aabdc2bc Added make benchmark for experimental continuous-benchmarking tool 2011-08-20 03:19:59 -07:00
Tj Holowaychuk 4d8d5b12f2 Release 2.4.5 2011-08-19 10:18:57 -07:00
Tj Holowaychuk 5785e7e2e5 removed dynamicHelpers 2011-08-19 10:07:19 -07:00
Tj Holowaychuk 81f311105c removed app.helpers() use app.locals() 2011-08-19 10:05:47 -07:00
Tj Holowaychuk ad3679fcb8 haha... 2011-08-19 10:05:25 -07:00
Tj Holowaychuk 29508f1cc7 changed -css, --template to --stylus, --ejs
we can add more as we go
2011-08-18 17:25:32 -07:00
Tj Holowaychuk 426ba62348 rewrote express(1) to use commander.js 2011-08-18 17:21:39 -07:00
Tj Holowaychuk d2df055abe fixed res.sendfile() 404 support 2011-08-18 15:59:35 -07:00
Tj Holowaychuk d3ccdbcf72 build res.download() on top of res.sendfile()
like it should have always been
2011-08-18 15:43:19 -07:00
Tj Holowaychuk 7a476fc964 make res.sendfile() more like res.download(). Closes #774 2011-08-18 15:38:22 -07:00
Tj Holowaychuk 5da28be2b2 refactored res.sendfile() 2011-08-18 15:28:19 -07:00
Tj Holowaychuk 0932bdea30 OCD 2011-08-18 14:35:56 -07:00
Tj Holowaychuk 75054e17cf Refactored Route to use a single array of callbacks 2011-08-17 15:50:15 -07:00
Tj Holowaychuk 664907f02e fixed route error handlers when errors are thrown 2011-08-17 14:39:32 -07:00
Tj Holowaychuk f977272732 Added support for routes to handle errors. Closes #809
currently only the route end-point callbacks
support this, however this will change in the near future
to support route middleware etc
2011-08-17 14:33:23 -07:00
Tj Holowaychuk d10b7b43ea Added shorthand for the parsed request's pathname 2011-08-17 14:20:10 -07:00
Tj Holowaychuk e9abe1b846 Merged basepath setting. Closes #813 2011-08-17 10:13:25 -07:00
Tj Holowaychuk cc21f38664 qs >= 0.3.1 2011-08-17 07:53:45 -07:00
Tj Holowaychuk 34606c26f0 use nextRoute() internally 2011-08-16 18:30:01 -07:00
Tj Holowaychuk be9d66a574 Changed: removed .call(self) for route callbacks
not sure why we had this, ive never even used it
and the tests dont cover it, and its slower
2011-08-16 18:28:48 -07:00
Tj Holowaychuk ed9fcde499 Added app.routes.all(). Closes #803
not a huge fan of this API-wise, but at least it is something for now
2011-08-16 17:52:39 -07:00
Tj Holowaychuk 3c2139b0c3 Fixed res.redirect() on windows due to join() usage. Closes #808 2011-08-15 13:47:07 -07:00
Tj Holowaychuk 7eeec91ab5 russian docs 2011-08-14 09:36:07 -07:00
Tj Holowaychuk fdd43ee448 link to russian docs booyah! 2011-08-14 09:35:03 -07:00
Tj Holowaychuk ca75492512 Added support for multiple callbacks for app.param(). Closes #801
you can also make several calls to `app.param()` for the same
param name, which is equivalent to passing multiple in
a single call
2011-08-11 11:09:36 -07:00
Tj Holowaychuk a2a7644794 added another test 2011-08-11 10:12:22 -07:00
Tj Holowaychuk 91aebc758c Added test for app.param(fn) 2011-08-11 10:11:09 -07:00
Tj Holowaychuk ca0d29d811 expose list of http methods supported 2011-08-10 16:12:21 -07:00
Tj Holowaychuk c8c6aa2a1f Added res.get(field) as an alternative to res.header(field) 2011-08-10 14:15:37 -07:00
Tj Holowaychuk 19a1a22e63 Added res.set(field, val) as an alternative to res.header() 2011-08-10 14:13:36 -07:00
Tj Holowaychuk c729d62f89 another sidebar 2011-08-08 17:33:50 -07:00
Tj Holowaychuk 1793b50e6b sidebar example 2011-08-08 17:25:54 -07:00
Tj Holowaychuk 23dbe6a5f0 better layout control example 2011-08-08 17:15:13 -07:00
Tj Holowaychuk 509601e617 fixed app.locals precedence 2011-08-08 17:01:07 -07:00
Tj Holowaychuk d58beed752 Removed default local "app" 2011-08-08 16:51:41 -07:00
Tj Holowaychuk fd5d1076dc make req.notify() arity based 2011-08-08 16:45:22 -07:00
Tj Holowaychuk 05b76a1f93 prepping blog example for new express 2011-08-08 16:40:09 -07:00
Tj Holowaychuk f84ec803a4 use "dev" logger in blog example 2011-08-08 16:27:20 -07:00
Tj Holowaychuk c35cd7fcb7 Changed res.{send,json}() status code to the first arg at all times 2011-08-04 13:30:12 -07:00
Tj Holowaychuk bb9d50579b docs 2011-08-04 12:01:11 -07:00
Tj Holowaychuk 54d37512f5 Refactored res.header() 2011-08-03 20:00:39 -07:00
Tj Holowaychuk c516be8c4b added header.jade to jade example 2011-08-02 09:01:42 -07:00
Tj Holowaychuk 82c78ec8f9 semi 2011-07-29 11:02:50 -07:00
Tj Holowaychuk b1d4b71609 Refactored req.accepts() 2011-07-29 11:02:20 -07:00
Tj Holowaychuk 7440c7ddc7 more tests 2011-07-29 09:55:52 -07:00
Tj Holowaychuk 624dad5a78 Merge branch 'integration' 2011-07-29 09:40:18 -07:00
Arpad Borsos f4080210bd specialcase .:format routing to not include a dot in the capture group 2011-07-29 09:37:51 -07:00
Tj Holowaychuk c631eb43e3 Fixed 204 / 304 responses 2011-07-29 09:31:45 -07:00
Tj Holowaychuk 376bedf624 Changed res.send(null) responds with empty string
previously you would just get "null",
which is fine for res.json() but probably
not the best result for res.send()
2011-07-29 09:30:35 -07:00
Tj Holowaychuk 36e9c02f6f fixed a response test 2011-07-29 09:26:58 -07:00
Tj Holowaychuk 8f798569a8 fixed a jade test 2011-07-29 09:22:05 -07:00
Tj Holowaychuk 8c0e47baf9 more tests for routing 2011-07-27 09:02:31 -07:00
Tj Holowaychuk 461473e48e more tests 2011-07-27 09:00:53 -07:00
Tj Holowaychuk 8b1f109c1d renamed a test 2011-07-27 09:00:07 -07:00
Tj Holowaychuk e005cb31d8 Merge branch 'master' of github.com:visionmedia/express 2011-07-27 08:59:27 -07:00
Tj Holowaychuk 579836e221 docs 2011-07-27 08:58:58 -07:00
ctide b977ee6160 Fix the behavior for setting up routes with * in them. 2011-07-27 08:58:23 -07:00
TJ Holowaychuk ddce65b9dd Merge pull request #777 from purohit/master
Simple misspelling fix.
2011-07-25 17:59:57 -07:00
Ashwin Purohit e0e1105965 Fixing the misspelling of "manor" with "manner" in the 4 places it occurs. 2011-07-25 17:02:23 -07:00
Tj Holowaychuk 1f520f9f99 added express-resource to readme 2011-07-25 11:20:32 -07:00
Tj Holowaychuk 05a929deb6 tweak generated stylus 2011-07-25 11:15:15 -07:00
Tj Holowaychuk 5ac5352e33 Fixed [23]04 support 2011-07-22 08:35:33 -07:00
Tj Holowaychuk 787a555253 Added route-loading example for another route loading technique
using the vm module you can expose the route files at the root
level which IMO is nicer than module.exports = function(app){ etc
2011-07-20 12:33:53 -07:00
Tj Holowaychuk 388b84e858 node >= 0.4.9 < 0.7.0 for now 2011-07-19 16:14:48 -07:00
Tj Holowaychuk 7ffd17254a 3.0.0alpha1 soon
mainly so windows users can start playing
around with express, i will have a ton
of these alphas
2011-07-19 16:13:29 -07:00
Tj Holowaychuk 00affe187c update jade dev dep 2011-07-19 14:43:53 -07:00
Tj Holowaychuk 05844efbd6 qs >= 0.3.0 2011-07-19 12:08:39 -07:00
Tj Holowaychuk 3ab37028fc Removed req.flash() references
it will be req.notify(), req.session.notifications etc
2011-07-15 13:09:38 -07:00
Tj Holowaychuk 3a04888c5f docs 2011-07-15 12:12:46 -07:00
Tj Holowaychuk 6bd518241a refactored res.redirect() slightly 2011-07-15 11:56:39 -07:00
Tj Holowaychuk a3cddb856f Changed res.{cookie,clearCookie}() return res 2011-07-15 11:55:03 -07:00
Tj Holowaychuk 4b8e08d202 another req.is() example 2011-07-15 11:52:43 -07:00
Tj Holowaychuk 9413d30396 Added req.notify() alias of req.flash() 2011-07-15 11:36:52 -07:00
Tj Holowaychuk 5982fa63c6 refactored req.flash() 2011-07-15 11:36:02 -07:00
Tj Holowaychuk a4621a6418 refactored req.param() 2011-07-15 11:33:57 -07:00
Tj Holowaychuk 7eec21a5e6 examples 2011-07-15 11:31:47 -07:00
Tj Holowaychuk 96b72fe2f7 Renamed app.flashFormatters to app.formatters 2011-07-15 11:04:25 -07:00
Tj Holowaychuk c7c9606e87 Added %d flash formatter 2011-07-15 10:57:15 -07:00
Tj Holowaychuk 772c135d98 Merge branch 'remove-header-fields' 2011-07-15 10:52:17 -07:00
Tj Holowaychuk 365b3a76ba fixed tests 2011-07-15 10:52:11 -07:00
Tj Holowaychuk 41568b7f2a chainable res.header() 2011-07-15 10:47:38 -07:00
Tj Holowaychuk d853f6cf0e fixed some tests 2011-07-15 10:38:19 -07:00
Tj Holowaychuk bcfcce32d3 Removed header field support 2011-07-15 10:38:19 -07:00
Tj Holowaychuk 986916cf3e removed old dynamic helper logic from the view system 2011-07-15 10:31:52 -07:00
Tj Holowaychuk d689656775 precedence test 2011-07-15 10:30:51 -07:00
Tj Holowaychuk 8c56df7322 view system utilizing app.locals 2011-07-15 10:27:53 -07:00
Tj Holowaychuk 1dc87761a0 Changed app.locals to match res.locals 2011-07-15 10:13:21 -07:00
Tj Holowaychuk cd88b92587 Removed app.dynamicLocals(). Closes #756 2011-07-15 10:06:49 -07:00
Tj Holowaychuk eab03fdfc4 utilize connects new query() middleware 2011-07-15 10:03:46 -07:00
Tj Holowaychuk 9a8b86872d Replaced res.local[s]() with res.locals function. Closes #757 2011-07-15 10:01:31 -07:00
Tj Holowaychuk 04ce039ba4 Merge branch 'master' of github.com:visionmedia/express 2011-07-14 13:19:48 -07:00
Tj Holowaychuk 9605cbda45 misc 2011-07-14 12:59:14 -07:00
Tj Holowaychuk 3ec2739925 Removed "view options" setting. Closes #748 2011-07-14 12:59:14 -07:00
Tj Holowaychuk d250bf9b56 docs for previous commit 2011-07-14 12:59:14 -07:00
Tj Holowaychuk 6ebccb0518 Added "charset" option 2011-07-14 12:59:14 -07:00
Tj Holowaychuk b30efe4e2f misc refactoring 2011-07-14 12:59:14 -07:00
Tj Holowaychuk c275d279fc Added app.dynamicLocal(name, fn) 2011-07-14 12:59:14 -07:00
Tj Holowaychuk 7237a3c3b6 app.local() and res.local() return for chaining 2011-07-14 12:59:14 -07:00
Tj Holowaychuk f98896f6d7 Added app.local(name, val) 2011-07-14 12:59:14 -07:00
Tj Holowaychuk bcb2cdae4c app.helpers -> app.locals 2011-07-14 12:59:13 -07:00
Tj Holowaychuk 08159211a3 app.dynamicHelpers -> app.dynamicLocals 2011-07-14 12:59:13 -07:00
Tj Holowaychuk 232b6ab7ef Removed res.send() with no args support for 204
just use:

   res.send(204)
2011-07-14 12:59:13 -07:00
Tj Holowaychuk 3d2676d013 Removed res.helpers() alias of res.locals() 2011-07-14 12:59:13 -07:00
Tj Holowaychuk 477d06f990 removed old app.error() docs 2011-07-14 12:59:13 -07:00
Tj Holowaychuk ed19885ba1 removed old error handling docs 2011-07-14 12:59:13 -07:00
Tj Holowaychuk 297ae6fdb4 removed use of app.error() in examples 2011-07-14 12:59:13 -07:00
Tj Holowaychuk 456a985666 Removed app.error(). Closes #733
use trailing middleware with arity of 4 as
shown in this issue. They are functionally
equivalent
2011-07-14 12:59:13 -07:00
Tj Holowaychuk 261203d6c1 expresso 0.8.1 2011-07-14 12:59:13 -07:00
Dave Hoover 31262d2ea9 its is possessive, it's is shorthand for: it is 2011-07-14 12:59:13 -07:00
Tj Holowaychuk c72abc5293 Release 2.4.3 2011-07-14 12:58:24 -07:00
Tj Holowaychuk 93189ad0b6 Fixed options.filename, exposing to template engines
this is useful for performing relative
lookups within the template engine itself,
without manually specifyin the path
2011-07-14 12:53:49 -07:00
Tj Holowaychuk a8930b161e Fixed options.filename, exposing to template engines
this is useful for performing relative
lookups within the template engine itself,
without manually specifyin the path
2011-07-14 12:50:50 -07:00
Tj Holowaychuk fa31d45285 misc 2011-07-11 14:58:40 -07:00
Tj Holowaychuk 914e4a4cf7 Removed "view options" setting. Closes #748 2011-07-11 13:19:00 -07:00
Tj Holowaychuk f36d079f28 docs for previous commit 2011-07-11 13:12:55 -07:00
Tj Holowaychuk 17ddeef3ba Added "charset" option 2011-07-11 13:12:11 -07:00
Tj Holowaychuk f0c90ce668 misc refactoring 2011-07-11 12:53:52 -07:00
Tj Holowaychuk f19b312c48 Added app.dynamicLocal(name, fn) 2011-07-11 12:50:20 -07:00
Tj Holowaychuk e899a54ba7 app.local() and res.local() return for chaining 2011-07-11 12:46:10 -07:00
Tj Holowaychuk a4db994c2f Added app.local(name, val) 2011-07-11 12:43:31 -07:00
Tj Holowaychuk f98f46c836 app.helpers -> app.locals 2011-07-11 12:37:35 -07:00
Tj Holowaychuk 336aaaec9a app.dynamicHelpers -> app.dynamicLocals 2011-07-11 12:36:33 -07:00
Tj Holowaychuk b13ec8526e Removed res.send() with no args support for 204
just use:

   res.send(204)
2011-07-11 11:43:16 -07:00
Tj Holowaychuk 541020ff1b Removed res.helpers() alias of res.locals() 2011-07-11 11:22:25 -07:00
Tj Holowaychuk 9c153737b4 removed old app.error() docs 2011-07-11 11:18:29 -07:00
Tj Holowaychuk 7d53bb4064 removed old error handling docs 2011-07-11 11:18:15 -07:00
Tj Holowaychuk 4670751479 removed use of app.error() in examples 2011-07-11 11:13:07 -07:00
Tj Holowaychuk 8e058f16e4 Removed app.error(). Closes #733
use trailing middleware with arity of 4 as
shown in this issue. They are functionally
equivalent
2011-07-11 11:06:58 -07:00
Tj Holowaychuk f519f0a5b3 Merge branch 'master' of github.com:visionmedia/express 2011-07-11 11:02:10 -07:00
Tj Holowaychuk bb61304a49 expresso 0.8.1 2011-07-11 11:01:06 -07:00
TJ Holowaychuk 781d991eac Merge pull request #746 from redsquirrel/patch-1
typo
2011-07-09 13:24:17 -07:00
Dave Hoover d04c1f93a3 its is possessive, it's is shorthand for: it is 2011-07-09 13:19:15 -07:00
Tj Holowaychuk c0aab36187 Added docs for status option special-case. Closes #739 2011-07-07 09:09:34 -07:00
Tj Holowaychuk 5ae994ee8f Release 2.4.2 2011-07-06 20:15:44 -07:00
Tj Holowaychuk 60d16eab77 Revert "removed jsonp stripping"
This reverts commit 0ae18bca60.
2011-07-06 20:14:42 -07:00
Tj Holowaychuk fc60dfc1a6 docs 2011-07-06 09:59:09 -07:00
Tj Holowaychuk 45d149c146 docs for multiple envs in app.configure() calls 2011-07-06 09:58:32 -07:00
Tj Holowaychuk 4dfc1a69c3 Release 2.4.1 2011-07-06 09:57:06 -07:00
Tj Holowaychuk 0ae18bca60 removed jsonp stripping
I cannot recall why I added this, doesnt make
sense to me now haha.
2011-07-06 09:45:21 -07:00
Tj Holowaychuk 2aaf0defe7 res.send() using res.json() 2011-07-06 09:32:16 -07:00
Tj Holowaychuk 73ea5cd7ee Added res.json() JSONP support. Closes #737 2011-07-06 09:31:37 -07:00
Tj Holowaychuk e7f2d229ec added failing jsonp tests for res.json() 2011-07-06 09:25:10 -07:00
Tj Holowaychuk 87bc265817 moved jsonp tests 2011-07-06 09:24:08 -07:00
Tj Holowaychuk 796aaff295 connect 1.5.2 2011-07-06 09:07:09 -07:00
Tj Holowaychuk 8f87c50320 fixed connect-redis example 2011-07-05 09:55:04 -07:00
Tj Holowaychuk ee4471b345 when cookie path === null dont default it 2011-07-04 13:51:08 -07:00
Tj Holowaychuk 6815feb8cf docs 2011-07-04 13:45:08 -07:00
Tj Holowaychuk dbbe7be891 Added extending-templates example. Closes #730 2011-07-04 13:34:41 -07:00
Tj Holowaychuk 09c9452e5c Changed; default cookie path to "home" setting. Closes #731 2011-07-04 13:18:50 -07:00
Tj Holowaychuk b0e669ba00 remove pids/logs creation from express(1)
just confused people
2011-07-04 13:05:13 -07:00
Tj Holowaychuk f46ae9f3b2 docs 2011-07-04 09:20:35 -07:00
Tj Holowaychuk 9f2b344be8 Added support for multiple env app.configure() calls. Closes #735 2011-07-04 09:16:12 -07:00
Tj Holowaychuk 6b47271679 updated error-pages example 2011-07-01 14:14:46 -07:00
Tj Holowaychuk 6f7075be74 Added "strict routing" setting for trailing slashes
for people who are:

  a) over-optimizing seo
  b) working on fs-like APIs
2011-06-29 16:35:49 -07:00
Tj Holowaychuk 4b9cc3d698 docs 2011-06-28 11:27:51 -07:00
Tj Holowaychuk 3faa790b53 Release 2.4.0 2011-06-28 09:41:21 -07:00
Tj Holowaychuk 9477c9b516 docs for res.status() 2011-06-28 09:32:28 -07:00
Tj Holowaychuk b04be51848 Added chainable res.status(code)
ex:

  res.status(500).send("lame")
2011-06-28 09:32:03 -07:00
Tj Holowaychuk 9e4020efd3 Merge branch 'feature/res-json' 2011-06-28 09:14:09 -07:00
Tj Holowaychuk 6db19db665 docs for res.json 2011-06-28 09:14:04 -07:00
Tj Holowaychuk 1386f80ae5 Added res.json() and tests 2011-06-28 09:11:54 -07:00
Tj Holowaychuk e4342a7097 Added error handling to web-service example 2011-06-28 08:49:43 -07:00
Tj Holowaychuk fda31b75f9 Added simple web-service example 2011-06-23 09:45:19 -07:00
Tj Holowaychuk 8ca0a45b33 hmac for auth example 2011-06-23 08:50:20 -07:00
Tj Holowaychuk ce2bcaef68 Release 2.3.12 2011-06-22 13:56:13 -07:00
Tj Holowaychuk 0db7f26ad3 Fixed view layout bug. Closes #720
preventing custom relative layouts such as:

  views/
   users/
     user-layout.jade
2011-06-22 13:53:58 -07:00
Tj Holowaychuk 35370da458 screencasts have their own page 2011-06-21 15:16:46 -07:00
Tj Holowaychuk fe6c5832c2 fixed docs charset 2011-06-21 15:15:38 -07:00
Tj Holowaychuk e8c32df79c fixed some docs 2011-06-21 15:13:51 -07:00
Tj Holowaychuk 652e166462 updated docs 2011-06-21 15:08:17 -07:00
Tj Holowaychuk af6385f8e4 docs 2011-06-21 15:06:49 -07:00
Tj Holowaychuk f0277d3777 #express on freenode 2011-06-21 14:59:06 -07:00
Tj Holowaychuk 6bb100d7fa docs for req.get() 2011-06-21 10:48:34 -07:00
Tj Holowaychuk f13ea34de3 typo 2011-06-21 10:46:07 -07:00
Tj Holowaychuk 48a14a443a Merge branch 'master' of github.com:visionmedia/express 2011-06-21 10:30:07 -07:00
Tj Holowaychuk 1820ea6f59 Merge branch 'param' 2011-06-21 10:29:08 -07:00
Tj Holowaychuk 4d9647923e Added req.get(field, param) 2011-06-21 10:29:04 -07:00
Tj Holowaychuk 943e9b3a28 connect >= 1.5.1 < 2.0.0 2011-06-20 23:20:33 -07:00
TJ Holowaychuk 6b2ec50a0b Merge pull request #709 from jzacsh/master
documentation: typo fix for view-lookup
2011-06-12 18:43:12 -07:00
Jonathan Zacsh 7b813b95b6 documentation spelling typo and URL fix. 2011-06-12 20:05:52 -04:00
TJ Holowaychuk cdaa2e78d7 Merge pull request #707 from jakeg/patch-2
Updated connect-redis markdown docs
2011-06-12 11:07:09 -07:00
Jake Gordon add53d3222 trying the .md file this time 2011-06-12 10:59:52 -07:00
TJ Holowaychuk f4f79d2217 Merge pull request #706 from jakeg/patch-1
docs to show require('connect-redis')(express) re npm 1.x changes
2011-06-12 09:32:22 -07:00
Jake Gordon aa36bc4516 Due to npm 1.x changes need to pass connect/express to the function connect-redis exports (see https://github.com/visionmedia/connect-redis) 2011-06-12 05:05:25 -07:00
Tj Holowaychuk 9028cacfd1 Fixed; ignore body on 304. Closes #701
should do the trick
2011-06-08 12:40:07 -07:00
Tj Holowaychuk 40ccb595cd "Japanese Documentation" in Japanese 日本語ドキュメンテーション :) 2011-06-07 09:46:28 -07:00
Tj Holowaychuk 5606d08ecb Links to Japanese documentation, thanks @hideyukisaito! 2011-06-07 09:41:16 -07:00
Tj Holowaychuk 1888d6fca1 Added; the express(1) generated app outputs the env
thanks nathan! totally thoguht I had this :D
2011-06-06 15:38:20 -07:00
Tj Holowaychuk 5d16e6b302 added content-negotiation example 2011-06-06 11:58:33 -07:00
Tj Holowaychuk 96f7574bc1 connect >= 1.4.3 < 2.0.0 2011-06-06 10:21:53 -07:00
Tj Holowaychuk 490584c8bc misc refactor 2011-06-06 09:20:29 -07:00
Tj Holowaychuk 0cbb1f661c typo 2011-06-06 08:55:30 -07:00
Tj Holowaychuk 3dc53e105a misc refactoring 2011-06-06 08:22:35 -07:00
Tj Holowaychuk e2cdd760d8 Release 2.3.11 2011-06-04 10:50:10 -07:00
Tj Holowaychuk 4169202a41 removed generation of dummy test file from express(1) 2011-06-04 10:47:48 -07:00
Tj Holowaychuk 835982c561 added devDependencies to generated package.json 2011-06-04 10:45:21 -07:00
Tj Holowaychuk b67bacea18 more refactoring of cookie example 2011-06-02 13:58:46 -07:00
Tj Holowaychuk 3205ee7d75 refactored cookie example 2011-06-02 13:57:54 -07:00
Tj Holowaychuk ff7d5ff4e5 generate docs 2011-06-01 17:35:27 -07:00
Tj Holowaychuk 723774af27 added quick start to guide 2011-06-01 17:35:14 -07:00
Tj Holowaychuk c3fbd3fe10 express(1) usage docs 2011-06-01 17:34:07 -07:00
Tj Holowaychuk d1d3871550 Fixed; express(1) adds express as a dep
duh...
2011-06-01 17:29:48 -07:00
Tj Holowaychuk 5462c8c7ec prune on prepublish 2011-06-01 16:59:29 -07:00
Tj Holowaychuk 9536341e30 added npm test 2011-05-30 14:19:26 -07:00
Tj Holowaychuk 1bb798d963 Release 2.3.10 2011-05-27 09:20:03 -07:00
Tj Holowaychuk 91997e9c53 Added req.route, exposing the current route. Closes #11
this can be used with a dynamicHelper to expose the _last_
route that was matched, aka the end-point when rendering a template.

this is a `Route` instance, so it has .path, .regexp, etc.
2011-05-27 09:12:49 -07:00
Tj Holowaychuk 1393187040 Merge branch 'refactor/executable' 2011-05-26 10:31:29 -07:00
Tj Holowaychuk 6e69c880d9 Added package.json generation support to express(1) 2011-05-26 10:31:21 -07:00
Tj Holowaychuk 59dcd03972 removed suggestions 2011-05-26 10:18:56 -07:00
Tj Holowaychuk 11482546a2 Fixed call to app.param() function for optional params. Closes #682 2011-05-26 09:56:04 -07:00
Tj Holowaychuk 1ce43dd347 added failing test for #682 2011-05-26 09:48:07 -07:00
Tj Holowaychuk d1bfe137d4 test to ensure catch of invalid uri 2011-05-25 15:50:32 -07:00
Tj Holowaychuk 9d7452cdc2 more tests 2011-05-25 10:56:56 -07:00
Tj Holowaychuk d9cee90efc Release 2.3.9 2011-05-25 10:18:26 -07:00
Tj Holowaychuk 175aa08500 more tests 2011-05-25 10:16:11 -07:00
Tj Holowaychuk c9ff6198d3 more tests 2011-05-25 10:15:21 -07:00
Tj Holowaychuk f026218c82 misc view refactoring 2011-05-25 10:10:23 -07:00
Tj Holowaychuk 5bc86b9e29 more tests 2011-05-25 09:54:55 -07:00
Tj Holowaychuk 5830ac9936 more tests 2011-05-25 09:54:06 -07:00
Tj Holowaychuk d7c6c9a9f9 Release 2.3.8 2011-05-24 21:53:08 -07:00
Tj Holowaychuk 9c87eed60e Fixed OPTIONS regression preventing custom routing for this method 2011-05-24 21:52:52 -07:00
Tj Holowaychuk f15eb6d5ef added options test 2011-05-24 21:41:37 -07:00
Tj Holowaychuk 5b33788359 express-mongoose link 2011-05-24 08:45:44 -07:00
Tj Holowaychuk 11ec3ccd48 removed some old invalid docs
new stuff to come
2011-05-23 17:16:02 -07:00
Tj Holowaychuk 9d498ba3f1 misc 2011-05-23 16:59:16 -07:00
Tj Holowaychuk 15d4047180 link 2011-05-23 16:57:36 -07:00
Tj Holowaychuk 44eae73843 Release 2.3.7 2011-05-23 15:54:17 -07:00
Tj Holowaychuk d5b1c70731 removed invalidParamReturnValue() 2011-05-23 15:48:58 -07:00
Tj Holowaychuk e78dc18cfd Removed app.param() callback with retval support
this is now abstract and will be going into express-params
along with some other cases
2011-05-23 15:40:41 -07:00
Tj Holowaychuk 4d122923e9 docs 2011-05-23 15:33:40 -07:00
Tj Holowaychuk b1a7310263 Added support for app.param(fn) to define param logic 2011-05-23 15:30:34 -07:00
Tj Holowaychuk d6ef90d98d Moved param() retval logic to Router#param() 2011-05-23 15:06:59 -07:00
Tj Holowaychuk 85df59ac31 comma first 2011-05-23 14:56:35 -07:00
Tj Holowaychuk b789a28581 refactored with nextRoute() 2011-05-23 14:52:43 -07:00
Tj Holowaychuk 4068e7f444 added route Collection tests 2011-05-23 14:13:31 -07:00
Tj Holowaychuk 80e9ffbf5d Refactored router. Closes #639 2011-05-23 13:48:31 -07:00
Tj Holowaychuk 610fc92ca3 arity < 3 considered return-style param 2011-05-23 09:52:11 -07:00
Tj Holowaychuk 0f5dc9bdb2 Added checking of app.param() fn retval
functions returning NaN, == null, or === false are considered
a failure and the next route is executed
2011-05-23 09:38:01 -07:00
TJ Holowaychuk c24b2faec5 Merge pull request #671 from jpalardy/patch-1
Documentation typo :uri -> :url for logger()
2011-05-22 10:18:01 -07:00
Jonathan Palardy c407f58dc2 :uri -> :url
Example won't work otherwise. I checked the code :-)
2011-05-21 23:17:57 -07:00
Tj Holowaychuk 380da0e202 Removed module.parent check from express(1) generated app. Closes #670 2011-05-21 14:17:24 -07:00
Tj Holowaychuk 9e5e7a1526 added more route tests 2011-05-20 15:46:36 -07:00
Tj Holowaychuk 9016b5aaae added more route tests 2011-05-20 15:46:05 -07:00
Tj Holowaychuk 45f168e873 Release 2.3.6 2011-05-20 09:42:01 -07:00
Tj Holowaychuk 799938683d Merge branch 'refactor/dev-deps' 2011-05-20 09:39:34 -07:00
Tj Holowaychuk 7128f2d11f fixed last examples 2011-05-20 09:39:29 -07:00
Tj Holowaychuk 0634bf0b0d fixed redis example 2011-05-20 09:38:52 -07:00
Tj Holowaychuk f9e48c2972 fixed markdown example 2011-05-20 09:29:22 -07:00
Tj Holowaychuk 909960c0b3 refactoring examples more 2011-05-20 09:26:47 -07:00
Tj Holowaychuk 8a7876f4d1 cleaning up examples 2011-05-20 09:16:35 -07:00
Tj Holowaychuk 286c92b13b docs 2011-05-20 09:15:39 -07:00
Tj Holowaychuk b9872a278f docs 2011-05-20 09:15:35 -07:00
Tj Holowaychuk 1b34fd7efa misc 2011-05-20 09:11:15 -07:00
Tj Holowaychuk f05c351762 Fixed view caching, should not be enabled in development 2011-05-20 09:01:05 -07:00
Tj Holowaychuk 8323f19e96 fixing examples 2011-05-20 08:56:25 -07:00
Tj Holowaychuk 565eda9ee5 docs 2011-05-20 08:40:26 -07:00
Tj Holowaychuk 7aea7194d1 example docs 2011-05-20 08:39:43 -07:00
Tj Holowaychuk 2f68957c8c fixed tests 2011-05-20 08:37:23 -07:00
Tj Holowaychuk 4ca848e526 ignore node_modules 2011-05-20 08:35:20 -07:00
Tj Holowaychuk 31a8c7c19c test docs 2011-05-20 08:35:11 -07:00
Tj Holowaychuk f1c435e050 removed support submods 2011-05-20 08:31:13 -07:00
Tj Holowaychuk fac75a9bff connect 1.4.1 2011-05-20 08:29:02 -07:00
Tj Holowaychuk 4fe03ab223 dev deps 2011-05-20 08:28:02 -07:00
TJ Holowaychuk c6122da59b Merge pull request #668 from joemccann/master
Simple Update to Markdown example
2011-05-20 08:07:21 -07:00
Tj Holowaychuk 131f658779 Release 2.3.5 2011-05-20 07:32:16 -07:00
Joe McCann 127f77964e Updated markdown example to latest version of node-markdown and modified the compile method. 2011-05-20 09:16:53 -05:00
Tj Holowaychuk 9f2bd30dc7 router.routes 2011-05-19 18:36:41 -07:00
Tj Holowaychuk 6e633b31b4 return bool from req.is() 2011-05-19 09:48:19 -07:00
Tj Holowaychuk 1c65643488 more tests 2011-05-18 17:41:15 -07:00
Tj Holowaychuk 388ad9067a tweak tests 2011-05-17 13:59:24 -07:00
Tj Holowaychuk f470f0bdc5 export .view as alias for .View
reads better:

   express.view.lookup(...)
2011-05-16 16:27:17 -07:00
Tj Holowaychuk 72384b0523 misc refactor of res.partial() 2011-05-16 15:29:20 -07:00
Tj Holowaychuk 1b199b7d98 lookup docs 2011-05-16 15:26:12 -07:00
Tj Holowaychuk 09b384ea44 Merge branch 'refactor/views' 2011-05-16 15:20:26 -07:00
Tj Holowaychuk 56ae55f987 keep duplicates out of view resolution hint 2011-05-16 15:20:08 -07:00
Tj Holowaychuk 1c360a89ba added views.compile(view, cache, cid, options)
private for now
2011-05-16 15:17:06 -07:00
Tj Holowaychuk 8636dee13e docs 2011-05-16 14:28:11 -07:00
Tj Holowaychuk 70e6baf6fc misc refactoring 2011-05-16 09:32:53 -07:00
Tj Holowaychuk 3588c1eedc docs 2011-05-16 09:27:16 -07:00
Tj Holowaychuk 8d6f167a81 added better middleware docs and use-cases 2011-05-16 09:24:53 -07:00
Tj Holowaychuk 6106188347 docs 2011-05-15 18:01:47 -07:00
Tj Holowaychuk eeb77541cd Updated jade submodule 2011-05-14 11:53:26 -07:00
Tj Holowaychuk 99b244b47c export View 2011-05-13 19:38:23 -07:00
Tj Holowaychuk 3043672448 added exports.lookup(view, options) to view.js
private for now
2011-05-13 19:37:11 -07:00
Tj Holowaychuk 0477a53c9f misc refactor 2011-05-13 15:47:48 -07:00
Tj Holowaychuk d9aa7c3bc9 Release 2.3.4 2011-05-08 10:53:57 -07:00
Tj Holowaychuk 986fac583b Merge branch 'master' of github.com:visionmedia/express 2011-05-08 10:52:59 -07:00
Tj Holowaychuk c6d76086e2 Fixed res.sendfile() bug preventing the transfer of files with spaces
params are decoded so we need to encode before passing to send() which then
in turn decodes it again, however nodes url module chokes on the spaces.
2011-05-08 10:52:16 -07:00
Tj Holowaychuk e2771364eb Updated connect submodule 2011-05-08 10:45:42 -07:00
Tj Holowaychuk 0d5a63798b added failing test with spaces in filename 2011-05-08 10:40:37 -07:00
TJ Holowaychuk 7d15e2bf52 Merge pull request #653 from darrentorpey/patch-1.
Fixed a typo: "A route is simple a string" => "A route is simply a string
2011-05-04 09:35:49 -07:00
Darren Torpey 31fef407b6 Fixed a typo: "A route is simple a string" => "A route is simply a string" 2011-05-04 04:14:40 -07:00
Tj Holowaychuk 6bef3ef891 misc 2011-05-03 16:48:17 -07:00
Tj Holowaychuk b806846049 misc 2011-05-03 16:44:17 -07:00
Tj Holowaychuk bc16020976 added stupid say example 2011-05-03 16:40:20 -07:00
Tj Holowaychuk 8afb905a43 Release 2.3.3 2011-05-03 11:31:16 -07:00
Tj Holowaychuk 53667728a8 Fixed route-specific middleware when using the same callback function several times 2011-05-03 11:28:33 -07:00
Tj Holowaychuk 5f0a854e29 added test for route specific middleware regression 2011-05-03 11:25:54 -07:00
Tj Holowaychuk e9ef3dd9cd ws 2011-05-03 09:41:59 -07:00
Tj Holowaychuk f702884704 split methods supported by rfc [slaskis] 2011-05-03 09:24:51 -07:00
Tj Holowaychuk 0cb866845d npm 1.x docs 2011-05-02 12:48:45 -07:00
Tj Holowaychuk 26483029db docs for next("route"). Closes #650 2011-05-01 11:06:37 -07:00
Tj Holowaychuk d2adcbdf67 Added "case sensitive routes" option. 2011-04-29 16:41:20 -07:00
Tj Holowaychuk d2f963db2a fixed tests 2011-04-29 16:34:22 -07:00
TJ Holowaychuk fc2bc1362f Merged pull request #645 from 8bitDesigner/patch-1.
Incorrect reference to template in a comment
2011-04-27 18:56:00 -07:00
8bitDesigner 6ae45d0fd3 The comment here refers to using "jade" for layouts, but you're using "ejs" instead. 2011-04-27 16:11:39 -07:00
Tj Holowaychuk cc185a8c0e Release 2.3.2 2011-04-27 09:12:54 -07:00
Tj Holowaychuk ae1078944c Fixed view hints
populate attempts on new View
2011-04-27 09:07:56 -07:00
Tj Holowaychuk 385a05dd10 bump 2011-04-26 15:26:24 -07:00
Tj Holowaychuk 2572a78648 Release 2.3.1 2011-04-26 15:26:04 -07:00
Tj Holowaychuk 470774cfba Fixed template caching collision issue. Closes #644
the parent view is resolved first so we always have the absolute path
available, so this should prevent collisions.
2011-04-26 15:24:31 -07:00
Tj Holowaychuk 351f6abe4c Merge branch 'refactor/router' 2011-04-26 14:36:51 -07:00
Tj Holowaychuk 53a16e1795 Added app.match() as app.match.all() 2011-04-26 13:59:59 -07:00
Tj Holowaychuk ff77c8b205 Added app.lookup() as app.lookup.all() 2011-04-26 13:59:37 -07:00
Tj Holowaychuk b33f38b109 Added app.remove() for app.remove.all() 2011-04-26 13:58:43 -07:00
Tj Holowaychuk b9596d7ce8 Added app.remove.VERB() 2011-04-26 13:57:05 -07:00
Tj Holowaychuk 251175c025 test for previous commit 2011-04-26 13:30:47 -07:00
Tj Holowaychuk fda1bc4630 moved fn.params to route.params 2011-04-26 13:30:21 -07:00
Tj Holowaychuk 83c2c176a9 misc 2011-04-26 13:28:20 -07:00
Tj Holowaychuk 9be5992f22 misc refactoring 2011-04-26 13:26:49 -07:00
Tj Holowaychuk d8d23c0bf8 misc 2011-04-26 13:21:19 -07:00
Tj Holowaychuk b2689fc40e docs 2011-04-26 13:16:19 -07:00
Tj Holowaychuk a4cfde350f moved more tests 2011-04-26 13:14:21 -07:00
Tj Holowaychuk 7374027457 added router.test.js 2011-04-26 13:13:07 -07:00
Tj Holowaychuk 63328c2177 added .index to match() retvals 2011-04-26 13:01:53 -07:00
Tj Holowaychuk c4e2ce23e5 more Route tests 2011-04-26 12:59:25 -07:00
Tj Holowaychuk dacad53b2e Added instancoef Route test 2011-04-26 12:57:14 -07:00
Tj Holowaychuk 4ffd5280a7 expose Route 2011-04-26 12:55:31 -07:00
Tj Holowaychuk 74310fb464 misc refactoring 2011-04-26 12:53:57 -07:00
Tj Holowaychuk 8b2268cf38 Started Route implementation 2011-04-26 12:41:05 -07:00
Tj Holowaychuk fb655f4981 added lib/router/methods.js 2011-04-26 11:49:51 -07:00
Tj Holowaychuk 7208c33d72 refactored view.js 2011-04-26 11:40:44 -07:00
Tj Holowaychuk 4efb25d048 refactored https.js 2011-04-26 11:39:09 -07:00
Tj Holowaychuk a3678cd7f6 refactored http.js 2011-04-26 11:34:41 -07:00
Tj Holowaychuk 393d38f1ab stubbed Route 2011-04-26 11:31:31 -07:00
Tj Holowaychuk 805b9ac3a9 docs for "view cache" setting 2011-04-25 12:06:20 -07:00
Tj Holowaychuk 379b9812be refactored options() helper 2011-04-25 10:26:08 -07:00
Tj Holowaychuk a9992b5647 docs 2011-04-25 10:19:13 -07:00
Tj Holowaychuk b6c0a9b1b5 moved router to router/index 2011-04-25 10:17:13 -07:00
Tj Holowaychuk 1d2dd2a375 Merge branch 'feature/router' 2011-04-25 10:13:46 -07:00
Tj Holowaychuk 63db694aa2 utilizing local router 2011-04-25 10:13:30 -07:00
Tj Holowaychuk b6aca36ad9 htmlEscape -> escape 2011-04-25 10:11:38 -07:00
Tj Holowaychuk 8420ae93fd removed old path utils 2011-04-25 10:10:43 -07:00
Tj Holowaychuk 6722716fa7 Moved router over from connect 2011-04-25 10:08:54 -07:00
Tj Holowaychuk 658e064220 Release 2.3.0 2011-04-25 09:49:54 -07:00
Tj Holowaychuk 66b472e567 connect >= 1.4.0 2011-04-25 09:32:57 -07:00
Tj Holowaychuk 3d242a607e Fixed caching of views when using several apps. Closes #637
simple fix :)
2011-04-25 09:25:23 -07:00
Tj Holowaychuk bc68e5e7a3 misc 2011-04-25 09:20:31 -07:00
Tj Holowaychuk aa6858189c misc refactor 2011-04-23 18:54:49 -07:00
Tj Holowaychuk 06fda62c9e Merge branch 'refactor/route-middleware' 2011-04-22 16:49:04 -07:00
Tj Holowaychuk 5688ea650d Fixed gotcha invoking app.param() callbacks once per route middleware. Closes #638 2011-04-22 16:48:54 -07:00
Tj Holowaychuk f5c4e9d612 Updated connect submodule 2011-04-22 16:34:42 -07:00
Tj Holowaychuk b9eda2a59d Updated connect submodule 2011-04-22 16:11:13 -07:00
Tj Holowaychuk 8c168b0971 connect >= 1.3.1 < 2.0.0 2011-04-22 16:11:07 -07:00
Tj Holowaychuk 9c20a50ee2 Added failing test for gotcha 2011-04-22 14:44:08 -07:00
Tj Holowaychuk eac666574e viewHelpers -> _locals 2011-04-21 08:26:30 -07:00
Tj Holowaychuk e4c840f6b8 Added res.helpers() as alias of res.locals()
to match app.locals() / app.helpers()
2011-04-20 15:26:22 -07:00
Daniel Shaw 3afbcd0acf JSON and JSONP default to UTF-8 in the same way as HTML. Closes #632.
Signed-off-by: Tj Holowaychuk <tj@vision-media.ca>
2011-04-20 09:00:02 -07:00
Daniel Shaw 8f054dbcaf JSON and JSONP default to UTF-8 in the same way as HTML. Introduces app.set('charset') to set charset default at the application level. Closes #632.
Signed-off-by: Tj Holowaychuk <tj@vision-media.ca>
2011-04-20 09:00:02 -07:00
Tj Holowaychuk ccc39e5aa2 Fixed partial lookup precedence. Closes #631 2011-04-19 10:23:16 -07:00
Tj Holowaychuk 53d4da2a9c Added failing partial precedence test 2011-04-19 10:19:45 -07:00
Tj Holowaychuk d9e7153fc9 Renamed "cache views" to "view cache". Closes #628 2011-04-17 16:42:03 -07:00
Tj Holowaychuk dc02b0d5ae Added options support to res.clearCookie() 2011-04-17 16:37:16 -07:00
Aaron Heckmann e0bc5711b8 auto set Content-Type in res.attachement
Signed-off-by: Tj Holowaychuk <tj@vision-media.ca>
2011-04-14 13:48:22 -07:00
Tj Holowaychuk 957cf45fa1 Release 2.2.2 2011-04-12 02:44:47 -07:00
Tj Holowaychuk f4487343df Fixed filename option passing to template engine 2011-04-12 02:43:03 -07:00
Tj Holowaychuk ca1bdb31e3 Updated jade submodule 2011-04-12 02:41:30 -07:00
Tj Holowaychuk 236a412459 docs 2011-04-11 09:46:28 -07:00
Tj Holowaychuk 759a57bdb6 Added second callback support for res.download() connection errors
since you can no longer respond, it will be helpful to have separate callbacks
2011-04-11 09:44:19 -07:00
Tj Holowaychuk 1abb674a07 temp fix for nodes res.removeHeader() after sent "bug" 2011-04-11 09:14:11 -07:00
Tj Holowaychuk 961146a287 link to express-expose 2011-04-08 17:51:41 -07:00
Tj Holowaychuk 573f940985 fixed example hasMessages
sessions are not always available
2011-04-08 12:44:03 -07:00
Tj Holowaychuk 882916bb2e Updated jade submodule 2011-04-08 12:36:41 -07:00
Tj Holowaychuk 47d1c62732 Updated connect submodule 2011-04-08 12:36:35 -07:00
Tj Holowaychuk d39293c025 refactor 2011-04-08 12:36:26 -07:00
Tj Holowaychuk 2942dafdfd >= connect 1.2.3 2011-04-05 11:25:16 -07:00
Tj Holowaychuk 4e1aefa5b5 Release 2.2.1 2011-04-04 12:23:37 -07:00
Tj Holowaychuk 89383ecc57 misc refactoring 2011-04-03 14:27:40 -07:00
Tj Holowaychuk 08046f7692 Added better partial() object collection support
only respecting .length is fine in some cases, but
if the object has a length and has holes, it will likely
produce an unexpected result, or an undefined local in the
render call, which may some times be ideal, but most likely not.

this change allows arbitrary objects to be passed to "collection: ",
however unfortunately there is no way to arbitrarily assume the object
is a collection without passing it as the option
2011-04-03 14:27:05 -07:00
Tj Holowaychuk 885fb1fa92 docs 2011-04-01 17:55:26 -07:00
Tj Holowaychuk 6a58c71528 Merge branch 'feature/view-layout-control' 2011-04-01 17:47:11 -07:00
Tj Holowaychuk 371d66ba2a Added layout(path) helper to change the layout within a view. Closes #610 2011-04-01 17:47:03 -07:00
Tj Holowaychuk 25bddf3fb5 added layout control example 2011-04-01 17:39:18 -07:00
Tj Holowaychuk f6e9fb13f8 Removed "request" and "response" locals
sorry, changed my mind. easy enough to expose these if you want to,
but they are to large by default
2011-04-01 17:25:05 -07:00
Tj Holowaychuk f0df8434e7 markdown escaping 2011-03-31 08:24:43 -07:00
Tj Holowaychuk e4d3f239e5 Updated connect submodule 2011-03-30 22:01:16 -07:00
Tj Holowaychuk bcc22dfa6f Updated connect submodule 2011-03-30 21:59:17 -07:00
Tj Holowaychuk f614709a01 errorHandler title 2011-03-30 21:59:15 -07:00
Tj Holowaychuk 11250d22c9 misc refactoring 2011-03-30 21:44:21 -07:00
Tj Holowaychuk 4b4de29725 Performance improved with better view caching
the entire View object is now cached in-memory, along with the lookup
logic as well. This increases rendering (with jade at least) by about 260 rps
2011-03-30 21:40:05 -07:00
Tj Holowaychuk 99b49d2718 updated docs 2011-03-30 12:11:22 -07:00
Tj Holowaychuk 6230ec55be more docs 2011-03-30 12:02:14 -07:00
Tj Holowaychuk 0733d3c585 connect 1.2.0 2011-03-30 11:58:26 -07:00
Tj Holowaychuk 6f8370ff0e Updated connect submodule 2011-03-30 11:58:09 -07:00
Tj Holowaychuk bc244ed07e docs for app.match.VERB() 2011-03-30 11:56:14 -07:00
Tj Holowaychuk 41266aa8e4 docs for app.lookup.VERB() 2011-03-30 11:49:21 -07:00
Tj Holowaychuk 45faee3e5b Release 2.2.0 2011-03-30 11:40:47 -07:00
Tj Holowaychuk 74ff735e10 Updated haml submodule 2011-03-30 11:00:47 -07:00
Tj Holowaychuk 97879f2b16 Updated formidable submodule 2011-03-30 11:00:43 -07:00
Tj Holowaychuk 1a338251ad Updated connect-form submodule 2011-03-30 11:00:34 -07:00
Tj Holowaychuk 354dc768c1 Updated jade submodule 2011-03-30 11:00:25 -07:00
Tj Holowaychuk 8a0796cd94 Updated ejs submodule 2011-03-30 11:00:21 -07:00
Tj Holowaychuk cbc3b26584 changed express(1) --help 2011-03-30 10:58:01 -07:00
Tj Holowaychuk d628583db8 removed colors from express(1) 2011-03-30 10:56:11 -07:00
Tj Holowaychuk 058777be1e connect >= 1.1.6 2011-03-29 18:11:00 -07:00
Tj Holowaychuk 260d03a0c4 Merge branch 'feature/route-lookup' 2011-03-29 18:04:49 -07:00
Tj Holowaychuk 6dcf6f41cc Added app.VERB() -> [Function...], app.lookup.VERB(), and app.match.VERB(). Closes #606 2011-03-29 18:04:43 -07:00
Tj Holowaychuk 799f790886 Updated connect submodule 2011-03-29 17:40:14 -07:00
Tj Holowaychuk cb3c4b0ea9 Updated connect submodule 2011-03-29 17:38:39 -07:00
Tj Holowaychuk 798d255ba6 Release 2.1.1 2011-03-29 10:40:26 -07:00
Tj Holowaychuk 28ba9e8ac5 Fixed res.partial(); next(err) when no callback is given [reported by aheckmann] 2011-03-29 09:56:58 -07:00
Tj Holowaychuk 7888cb0506 docs 2011-03-29 09:51:38 -07:00
Tj Holowaychuk 5e284a20cc Updated connect submodule 2011-03-29 09:49:45 -07:00
Tj Holowaychuk 770357e727 Updated expresso submodule 2011-03-29 09:49:18 -07:00
Aaron Heckmann 673ba22555 res.send(undefined) returns a 204
closes #600

Signed-off-by: Tj Holowaychuk <tj@vision-media.ca>
2011-03-29 08:52:36 -07:00
Aaron Heckmann fb38d9cfb7 add test for res.send(undefined)
Signed-off-by: Tj Holowaychuk <tj@vision-media.ca>
2011-03-29 08:52:34 -07:00
Aaron Heckmann dda89a57ec ignore .swo .swp
Signed-off-by: Tj Holowaychuk <tj@vision-media.ca>
2011-03-29 08:52:34 -07:00
Tj Holowaychuk 62df63d3a0 doc typo 2011-03-29 08:39:35 -07:00
Tj Holowaychuk e71696cf34 expose err.view when failing to locate a view
allows for:

   err.view.path

etc
2011-03-28 14:44:12 -07:00
Tj Holowaychuk b5d8d58670 repo 2011-03-27 14:23:43 -07:00
Tj Holowaychuk 14e6a667f5 Release 2.1.0 2011-03-24 13:47:38 -07:00
Tj Holowaychuk 0c324783ae Merge branch 'feature/root-partial-lookup' 2011-03-24 13:34:02 -07:00
Tj Holowaychuk 5d6ce251ca Added <root>/_<name> partial lookup support 2011-03-24 13:33:52 -07:00
Tj Holowaychuk 92c04cee1d Added; partial lookup relative to view root. Closes #447
for example when nested deep, if you have a
partial located at ./views/messages.jade

partial("messages");

will still work
2011-03-24 13:26:32 -07:00
Tj Holowaychuk 7fdf587a7b added test for root partial lookup 2011-03-24 13:21:23 -07:00
Tj Holowaychuk 1e46218b09 doc typo 2011-03-24 11:46:40 -07:00
Tj Holowaychuk c56fcd8fb9 better --help output 2011-03-22 13:00:36 -07:00
Tj Holowaychuk 319fbf7f64 Added "request", "response", and "app" locals 2011-03-22 12:16:58 -07:00
Tj Holowaychuk bf06d9077c docs for "filename" local 2011-03-22 12:14:08 -07:00
Tj Holowaychuk 9d2bd29ee1 Added 'settings' local variable, containing the app's settings 2011-03-22 12:06:19 -07:00
Tj Holowaychuk d11fa1f74e added .settings test 2011-03-22 12:02:57 -07:00
Tj Holowaychuk c824da0dab test indentation 2011-03-22 11:59:29 -07:00
Tj Holowaychuk 9362c83a33 removed dead test 2011-03-22 11:59:05 -07:00
Tj Holowaychuk 0c38098f02 tweak req.flash() failure message 2011-03-21 16:13:40 -07:00
Pau Ramon be7068f569 Better error output when using flash without session middleware. 2011-03-21 16:12:55 -07:00
Tj Holowaychuk b122bf22e3 link typo 2011-03-21 12:06:36 -07:00
Tj Holowaychuk b7232f38f3 Added res.send(bool) support
application/json
2011-03-21 10:34:04 -07:00
Tj Holowaychuk c1b72ac1b7 Fixed stylus example for latest version 2011-03-21 08:45:43 -07:00
Roman Shtylman b9e0d15878 check that this.params is valid before calling hasOwnProperty 2011-03-21 08:13:05 -07:00
Tj Holowaychuk cf26cf7afc wrap try/catch around render() 2011-03-18 11:44:48 -07:00
Tj Holowaychuk a75e60ae47 fixed docs due to markdown-js not supporting html 2011-03-18 09:18:29 -07:00
Tj Holowaychuk 187dc5dd03 connect 1.1.1 2011-03-18 08:49:59 -07:00
Tj Holowaychuk 9c9e2afade refactored res.redirect() 2011-03-18 08:49:46 -07:00
Tj Holowaychuk fae1ba98c1 doc typo 2011-03-17 19:05:59 -07:00
Tj Holowaychuk c3e632620a doc typo 2011-03-17 19:05:28 -07:00
Tj Holowaychuk dd7158ac46 regenerated docs 2011-03-17 18:56:44 -07:00
Tj Holowaychuk eefe51c7a7 removed manpages from make 2011-03-17 18:55:13 -07:00
Tj Holowaychuk bf596dc023 Release 2.0.0 2011-03-17 18:06:30 -07:00
Tj Holowaychuk 220d88d654 Fixed up index view path alternative
previously was doing ../index, which was not intended
now doing ../VIEW/index
2011-03-17 15:36:44 -07:00
Tj Holowaychuk a254e64bdb Changed; res.locals() without object returns the locals 2011-03-17 14:50:35 -07:00
Tj Holowaychuk 1555b92fb8 Release 2.0.0rc3 2011-03-17 13:01:59 -07:00
Tj Holowaychuk d5b7a40b39 Fixed partials example 2011-03-17 13:00:43 -07:00
Tj Holowaychuk bd1ab7ab96 pass the function 2011-03-17 12:48:06 -07:00
Tj Holowaychuk 2ff991bfcf refactored res.render() 2011-03-17 12:45:11 -07:00
Tj Holowaychuk 0b1378a539 Added res.locals(obj) 2011-03-17 12:13:59 -07:00
Tj Holowaychuk 723c908bd7 Added res.partial() callback support 2011-03-17 12:10:32 -07:00
Tj Holowaychuk 4874404701 typo 2011-03-17 11:33:35 -07:00
Tj Holowaychuk 4c1374840a Release 2.0.0rc2 2011-03-17 11:01:20 -07:00
Tj Holowaychuk 5da01633fd Fixed SlowBuffer support. Closes #584 2011-03-17 10:37:34 -07:00
Tj Holowaychuk cdbd8af527 migration docs for partials 2011-03-17 09:31:32 -07:00
Tj Holowaychuk a6fdc1bfd2 Fixed .filename view engine option [reported by drudge] 2011-03-16 16:58:02 -07:00
Tj Holowaychuk 20b8facb05 docs for partial changes 2011-03-16 15:53:27 -07:00
Tj Holowaychuk 909914f7af Changed; partial() "locals" are now optional
this means that:

   partial("user", { name: "tj" })

with the intent of receiving "user" instead of "name" in this
case is invalid, "name" here is a local, however passing a non-plain
object such as a User object is fine:

    partial("user", new User("tj"));
2011-03-16 15:37:05 -07:00
Tj Holowaychuk 3f31ebc676 fixed express-contrib example reference 2011-03-15 15:23:28 -07:00
Tj Holowaychuk f3c068a90c Merge branch 'integration' 2011-03-15 10:52:58 -07:00
Tj Holowaychuk 90d7e193d1 Refactored Server#use()
eventually we should just emit some events from connect
2011-03-15 10:52:53 -07:00
Tj Holowaychuk c9f5bb6f17 added .app test for the mounted server as well 2011-03-15 10:39:59 -07:00
Ben Weaver 9865a4c4f2 Clean up patch to Server#use(), add test case for restoring res#app property. 2011-03-15 10:37:18 -07:00
Ben Weaver f12baf32d4 Restore original res.app when out() is called. 2011-03-15 10:37:18 -07:00
Tj Holowaychuk 80f4d08e8b Release 2.0.0rc 2011-03-14 15:01:37 -07:00
Tj Holowaychuk 07c9cae923 Fixed; expose HTTPSServer constructor 2011-03-14 14:36:22 -07:00
Tj Holowaychuk d867cc9271 Fixed express(1) default test charset. Cloeses #579 [reported by secoif] 2011-03-13 10:15:53 -07:00
Tj Holowaychuk 3a1fe1e295 Fixed; default charset to utf-8 instead of utf8 for lame IE [reported by NickP] 2011-03-11 16:34:41 -08:00
Tj Holowaychuk 3cacf050df Docs for staticProvider() changes 2011-03-11 14:11:45 -08:00
Tj Holowaychuk 1536d73d1b Release 2.0.0beta3 2011-03-09 15:45:55 -08:00
Tj Holowaychuk 55143a9d44 Updated connect submodule 2011-03-09 15:39:10 -08:00
Tj Holowaychuk c92e193916 Fixed res.redirect(). RFC states absolute 2011-03-09 15:18:22 -08:00
Tj Holowaychuk d12452fc49 docs for charset 2011-03-09 10:59:47 -08:00
Tj Holowaychuk 3d8400a40c docs for res.contentType() literal 2011-03-09 10:54:35 -08:00
Tj Holowaychuk 1fe0aea0b0 Added test for res.contentType() literal 2011-03-09 10:53:50 -08:00
Tj Holowaychuk 5df2544883 fixed a test 2011-03-09 10:46:59 -08:00
Tj Holowaychuk acbf224277 default res.send() string charset to utf8 2011-03-09 10:42:14 -08:00
Tj Holowaychuk d0d17a0d35 charset tests using ISO-8859-1 2011-03-09 10:33:28 -08:00
Tj Holowaychuk f7b53d33bc more tests 2011-03-09 10:33:06 -08:00
Tj Holowaychuk 92be06874b more tests 2011-03-09 10:31:45 -08:00
Tj Holowaychuk f327455d9d Added charset option for render() 2011-03-09 10:31:10 -08:00
Tj Holowaychuk 54415bf2af moved a test 2011-03-09 10:29:03 -08:00
Tj Holowaychuk bac62dfcd9 added charset test with res.render() 2011-03-09 10:26:37 -08:00
Tj Holowaychuk 820b43c1f3 Added .charset + res.send() test 2011-03-09 10:23:05 -08:00
Tj Holowaychuk a5b69290d5 fixed a test 2011-03-09 10:20:44 -08:00
Tj Holowaychuk 5c7a9c86f6 Updated connect submodule 2011-03-09 10:20:03 -08:00
Tj Holowaychuk 7f83f916f6 Updated jade submodule 2011-03-09 09:46:47 -08:00
Masahiro Hayashi c15a949cc3 Updated express command
- Fixed a genereated test's bug
- Added a forgotten semicolon
2011-03-08 13:42:06 -08:00
Tj Holowaychuk ce47f96570 dont change NODE_ENV in tests 2011-03-08 13:39:30 -08:00
Tj Holowaychuk 57b035cd94 hinting at fully resolved paths 2011-03-08 12:58:16 -08:00
Tj Holowaychuk f1f126171c Added view resolution hints when in development 2011-03-08 12:51:40 -08:00
Tj Holowaychuk 71e1bcd855 fixed a test 2011-03-08 12:02:35 -08:00
Tj Holowaychuk b5579b6307 Added layout lookup support relative to the page view
for example if you render ./views/forum/thread and
./views/forum/thread/layout.jade exists, it will be used,
falling back on ./views/layout.jade.
2011-03-08 12:01:45 -08:00
Tj Holowaychuk 110b0fe14a misc refactor 2011-03-08 11:47:03 -08:00
Tj Holowaychuk d7488bbb62 Removed Partial constructor (not used) 2011-03-08 11:42:03 -08:00
Tj Holowaychuk 2007407e7b docs 2011-03-08 09:56:24 -08:00
Tj Holowaychuk d152e7e780 Added res.render() status support back
useful for error templates that display the status _and_
set the status code
2011-03-08 09:56:05 -08:00
Tj Holowaychuk d4f4b6682d Release 2.0.0beta2 2011-03-07 09:40:39 -08:00
Tj Holowaychuk 7f4a12f4cd Added regular css file to stylus example 2011-03-07 09:34:41 -08:00
Tj Holowaychuk 07d06adf86 Added res.render() .locals support back to aid in migration process 2011-03-07 09:15:36 -08:00
Tj Holowaychuk 47dc188d57 Updated jade submodule 2011-03-04 18:33:29 -08:00
Tj Holowaychuk 85d22541d2 Fixed flash example 2011-03-04 11:18:19 -08:00
Tj Holowaychuk 90ec1031f9 typo in flash example 2011-03-04 11:03:47 -08:00
Tj Holowaychuk 9bc9ad13a4 < connect 2.0.0 2011-03-04 08:52:15 -08:00
Tj Holowaychuk 1782c7d778 regenerated docs 2011-03-04 08:46:55 -08:00
Tj Holowaychuk e85752c527 Add haml back in docs 2011-03-04 08:44:35 -08:00
Tj Holowaychuk dfdbbb514f haml working fine 2011-03-04 08:43:52 -08:00
Tj Holowaychuk 976f5ca93e Updated haml submodule 2011-03-04 08:43:07 -08:00
Tj Holowaychuk 2086f8d34c beta in express --version 2011-03-03 17:16:25 -08:00
Tj Holowaychuk 6873a68216 changelog typo 2011-03-03 16:34:05 -08:00
Tj Holowaychuk 9eb2c61760 docs 2011-03-03 16:15:17 -08:00
Tj Holowaychuk 543e791206 docs 2011-03-03 16:13:20 -08:00
Tj Holowaychuk b6e8b3fa84 added express-namespace link 2011-03-03 16:10:38 -08:00
Tj Holowaychuk 6f8e406b7b added express-messages link 2011-03-03 16:08:52 -08:00
Tj Holowaychuk 93bc54b65c added express-configure link 2011-03-03 16:07:22 -08:00
Tj Holowaychuk 3bf0ac4a36 added express-resource link 2011-03-03 16:05:49 -08:00
Tj Holowaychuk bc01bfff21 connect docs 2011-03-03 16:02:27 -08:00
Tj Holowaychuk 0d4eaf03fc Added make site 2011-03-03 15:59:47 -08:00
Tj Holowaychuk 2bb0412473 docs 2011-03-03 15:49:34 -08:00
Tj Holowaychuk 07ce5d3158 docs for res.render() and res.partial() 2011-03-03 15:49:30 -08:00
Tj Holowaychuk 131970b3e5 docs 2011-03-03 15:39:44 -08:00
Tj Holowaychuk 00e1dbfbd9 docs for res.cookie() 2011-03-03 15:30:43 -08:00
Tj Holowaychuk 4c274c524d Added res.cookie() maxAge support 2011-03-03 15:27:03 -08:00
Tj Holowaychuk 5581ca2751 docs 2011-03-03 15:07:35 -08:00
Tj Holowaychuk 5cd9a9540f docs 2011-03-03 14:40:47 -08:00
Tj Holowaychuk 1db2efa75a docs 2011-03-03 14:39:10 -08:00
Tj Holowaychuk c1a82bf3ea docs 2011-03-03 14:18:42 -08:00
Tj Holowaychuk 7705042cac docs 2011-03-03 13:31:09 -08:00
Tj Holowaychuk b9e311e893 version docs 2011-03-03 13:26:31 -08:00
Tj Holowaychuk 460998497d docs 2011-03-03 13:25:31 -08:00
Tj Holowaychuk 022c5e1411 note on locals 2011-03-03 13:10:50 -08:00
Tj Holowaychuk 60daf0d6c7 Ignore .DS_Store 2011-03-03 12:53:34 -08:00
Tj Holowaychuk 0b6a941624 more docs 2011-03-03 12:47:01 -08:00
Tj Holowaychuk 1fc520b45a Fixed partial() issue where the parent locals clobber those given directly 2011-03-03 12:44:37 -08:00
Tj Holowaychuk cbbee38be8 Added more view examples 2011-03-03 11:54:16 -08:00
Tj Holowaychuk 2dae6d8285 Fixed mounting of non-express servers 2011-03-03 11:33:53 -08:00
Tj Holowaychuk 65c8a956f1 do not try ../index when rendering a layout 2011-03-03 11:23:16 -08:00
Tj Holowaychuk 2b907e9a8c fixing tests 2011-03-03 11:21:57 -08:00
Tj Holowaychuk 25e520c243 misc 2011-03-03 11:11:08 -08:00
Tj Holowaychuk 2124c8465a removed scope tests 2011-03-03 11:05:16 -08:00
Tj Holowaychuk a49e1f4f3d Changed default view scope to a plain object
easier to debug, and kinda useless to use "this" anyway
2011-03-03 10:59:00 -08:00
Tj Holowaychuk 32be4a7812 Added View#upIndexPath 2011-03-03 10:54:54 -08:00
Tj Holowaychuk 92967d3457 Added failing test for partial("foo") loading the index 2011-03-03 10:28:51 -08:00
Tj Holowaychuk d70fee7432 Added partial() index test 2011-03-03 10:24:50 -08:00
Tj Holowaychuk 97b8e75932 Added index view test 2011-03-03 10:18:19 -08:00
Tj Holowaychuk 8a62f8cef0 view lookup docs 2011-03-03 10:10:18 -08:00
Tj Holowaychuk 10f4f523fa populate changelog for 2.0.0beta 2011-03-03 10:00:56 -08:00
Tj Holowaychuk 1e392d2628 populate changelog from 1.x 2011-03-03 09:36:38 -08:00
Tj Holowaychuk eb6ff62113 Fixed req.param() bug returning Array.prototype methods. Closes #552 2011-03-03 09:20:28 -08:00
Tj Holowaychuk 64da2621da Merge branch 'docs' 2011-03-02 18:37:43 -08:00
Tj Holowaychuk 61aec6e961 Added markdown template engine example 2011-03-02 18:37:36 -08:00
Tj Holowaychuk 42f3ad436d docs 2011-03-02 18:37:29 -08:00
Tj Holowaychuk 2f7b78c03a ejs example using app.register() 2011-03-02 18:27:12 -08:00
Tj Holowaychuk 402d37d613 docs 2011-03-02 18:25:21 -08:00
Tj Holowaychuk 96327c979c docs 2011-03-02 18:10:51 -08:00
Tj Holowaychuk 9d1b3f59d5 docs 2011-03-02 17:20:39 -08:00
Tj Holowaychuk 14bd50efe4 docs 2011-03-02 16:59:48 -08:00
Tj Holowaychuk 631c1f95e7 node ">= 0.4.1 < 0.5.0" 2011-03-02 16:36:05 -08:00
Tj Holowaychuk 50006f7e43 docs 2011-03-02 16:22:53 -08:00
Tj Holowaychuk 4c9503158b connect >= 1.0.1 2011-03-02 16:16:03 -08:00
Tj Holowaychuk 6c8e461db5 beta 2011-03-02 16:15:37 -08:00
Tj Holowaychuk aaa8415169 Removed partial() / render() status and header options 2011-03-02 16:11:02 -08:00
Tj Holowaychuk 51e964498c docs 2011-03-02 16:08:39 -08:00
Tj Holowaychuk 0cddc70ff5 node 0.4.x only 2011-03-02 15:57:33 -08:00
Tj Holowaychuk 99dcf7508f Added res.redirect() mount test 2011-03-02 15:52:41 -08:00
Tj Holowaychuk 7822d1f148 docs 2011-03-02 15:45:24 -08:00
Tj Holowaychuk a572a7126c Merge branch 'mounting' 2011-03-02 15:42:34 -08:00
Tj Holowaychuk a1609faba0 stylesheet respecting base 2011-03-02 15:42:29 -08:00
Tj Holowaychuk 9bf823d893 Added mount support for res.redirect(), now respects the mount-point 2011-03-02 15:37:12 -08:00
Tj Holowaychuk ca184e7725 Updated connect submodule 2011-03-02 15:26:21 -08:00
Tj Holowaychuk 5054507487 added "base" local to blog example for mounting 2011-03-02 15:17:19 -08:00
Tj Holowaychuk ab93be0178 refactored blog example 2011-03-02 15:06:23 -08:00
Tj Holowaychuk 8b0993bb10 misc 2011-03-02 15:02:57 -08:00
Tj Holowaychuk 0a034bb3ea started mounting example 2011-03-02 15:01:46 -08:00
Tj Holowaychuk 4ce815a3ed Removed annotated docs 2011-03-02 14:49:39 -08:00
Tj Holowaychuk 4da860eae1 removed api.html 2011-03-02 14:49:26 -08:00
Tj Holowaychuk 27e4bdb814 more res.partial() examples 2011-03-02 14:39:24 -08:00
Tj Holowaychuk dd9406cd52 Added res.partial(), using the same interface as partial() within a view. Closes #539 2011-03-02 14:27:07 -08:00
Tj Holowaychuk 509312773d partials example utilizing index 2011-03-02 13:56:47 -08:00
Tj Holowaychuk 42d2758c36 Added union() util, taking place of merge(clone()) combo 2011-03-02 13:41:36 -08:00
Tj Holowaychuk ef1c858ffc more test refactoring 2011-03-02 13:31:11 -08:00
Tj Holowaychuk 7fd47c0ac6 more test refactoring 2011-03-02 13:21:54 -08:00
Tj Holowaychuk a63b232ef1 more test refactoring 2011-03-02 13:20:27 -08:00
Tj Holowaychuk acb502e5e3 refactoring tsts 2011-03-02 13:18:39 -08:00
Tj Holowaychuk 3661922bb0 refactored res.send() 2011-03-02 12:39:39 -08:00
Tj Holowaychuk 0704f149be misc 2011-03-02 12:28:24 -08:00
Tj Holowaychuk 334604de5d utilizing app.set() 2011-03-02 12:03:05 -08:00
Tj Holowaychuk 530328ac15 misc refactoring 2011-03-02 11:43:40 -08:00
Tj Holowaychuk 9914a1eb3f copyright 2011-03-02 11:37:19 -08:00
Tj Holowaychuk 5db5710d3f Merge branch 'bugs/local-precedence' 2011-03-02 11:31:21 -08:00
Tj Holowaychuk 9e9f55a8e3 fixed local precedence 2011-03-02 11:31:14 -08:00
Tj Holowaychuk 0800141a9d semi-colons 2011-03-02 11:13:39 -08:00
Tj Holowaychuk dc6d469f0c added more local tests 2011-03-02 11:11:18 -08:00
Tj Holowaychuk 89299d77e4 bodyParser not bodyDecoder 2011-03-02 10:52:37 -08:00
Tj Holowaychuk 27d8bf6311 refactored express(1) stdin usage 2011-03-02 10:50:13 -08:00
Tj Holowaychuk 8c229a8560 fixed express(1) confirmation for 0.4.x 2011-03-02 10:47:14 -08:00
Tj Holowaychuk 29eed65a67 removed constants from express(1) 2011-03-02 10:43:55 -08:00
Tj Holowaychuk f0e0073a09 more partial examples 2011-03-02 10:39:32 -08:00
Tj Holowaychuk b70bde58be fixing more examples 2011-03-02 10:30:33 -08:00
Tj Holowaychuk 635fac776d renamed example to params 2011-03-02 10:26:43 -08:00
Tj Holowaychuk 7753d4e91d refactored partials example 2011-03-02 10:24:57 -08:00
Tj Holowaychuk 66a6214216 fixing more examples 2011-03-02 10:15:10 -08:00
Tj Holowaychuk 6cae1f09f1 docs 2011-03-02 10:09:07 -08:00
Tj Holowaychuk c4432ee827 download example 2011-03-02 10:06:14 -08:00
Tj Holowaychuk 80a5bf2063 fixing examples 2011-03-02 10:02:42 -08:00
Tj Holowaychuk 5b3d5fc431 removed cache example 2011-03-02 09:57:11 -08:00
Tj Holowaychuk cd38fb4177 refactored auth example 2011-03-02 09:56:09 -08:00
Tj Holowaychuk 9b1cc75b36 res.download() and res.sendfile() using connect now 2011-03-02 09:41:21 -08:00
Tj Holowaychuk db8b2883e2 Updated connect submodule 2011-03-01 15:53:56 -08:00
Tj Holowaychuk 59a74ecce4 refactoring to use connects static server 2011-03-01 15:42:42 -08:00
Tj Holowaychuk 9099c61df9 Merge branch 'progressive-headers' 2011-03-01 14:41:01 -08:00
Tj Holowaychuk 50521281ce utilizing nodes progressive response header api 2011-03-01 14:40:46 -08:00
Tj Holowaychuk 0cc6abf741 refactored req.is() 2011-03-01 14:34:36 -08:00
Tj Holowaychuk fe266ae4fe misc refactoring 2011-03-01 14:32:59 -08:00
Tj Holowaychuk 7c15cdeb69 misc refactoring 2011-03-01 14:30:48 -08:00
Tj Holowaychuk 848086947c refactor errorHandler registration 2011-03-01 14:20:25 -08:00
Tj Holowaychuk 5ec4ea754c misc refactoring 2011-03-01 14:18:14 -08:00
Tj Holowaychuk 41467d54df docs 2011-03-01 14:16:16 -08:00
Tj Holowaychuk 8261437764 Merge branch 'features/https' 2011-03-01 14:08:40 -08:00
Tj Holowaychuk 54eac368d0 Finished https support 2011-03-01 14:06:53 -08:00
Tj Holowaychuk 72511ea1e9 Started https.js 2011-03-01 13:53:22 -08:00
Tj Holowaychuk da7921f2c6 Moved server.js into http.js 2011-03-01 13:34:50 -08:00
Tj Holowaychuk cd519e97e7 tests running again 2011-03-01 11:00:50 -08:00
Tj Holowaychuk 2a7a5aeefe Renaming usage of old connect middleware 2011-03-01 10:59:09 -08:00
Tj Holowaychuk bdbacb41da prepping for connect 1.0 2011-03-01 10:54:04 -08:00
Tj Holowaychuk 2dd736a201 Updated expresso submodule 2011-03-01 10:45:07 -08:00
Tj Holowaychuk ec3c797105 Updated connect submodule 2011-03-01 10:39:50 -08:00
Tj Holowaychuk 770f05c060 styling 2011-02-23 15:41:59 -08:00
Tj Holowaychuk 6993a27d8e refactored res.redirect() with res.req.header() for referrer 2011-02-23 15:39:06 -08:00
Tj Holowaychuk 68fd658536 more tests 2011-02-23 15:37:27 -08:00
Tj Holowaychuk 9fc349965d Changed; charsets are no longer implied 2011-02-23 15:24:56 -08:00
Tj Holowaychuk 0a667ff741 Added mime support submod 2011-02-23 15:23:48 -08:00
Tj Holowaychuk d37ad85f72 replaced connect.utils.mime() with mime module 2011-02-23 15:23:08 -08:00
Tj Holowaychuk 2b63568611 node >= 0.4.0 2011-02-21 13:46:40 -08:00
Tj Holowaychuk fcf9f93825 2.0.0-pre 2011-02-21 13:46:26 -08:00
Tj Holowaychuk 07efc0b73b clean up generated app 2011-02-21 13:43:00 -08:00
Tj Holowaychuk 6813b48c7e replaced link to express-contrib with new solo repos 2011-02-21 11:37:19 -08:00
Tj Holowaychuk d58444c6d2 Updated ejs submodule 2011-02-17 23:41:28 -08:00
Tj Holowaychuk dd8a0bd30f removed .config (unused prop) 2011-02-15 14:09:01 -08:00
Tj Holowaychuk b65b0636aa Added req.header() Referrer / Referer special-case 2011-02-14 19:38:01 -08:00
Tj Holowaychuk 9ec6321261 qs >= 0.0.6 2011-02-14 15:26:00 -08:00
Tj Holowaychuk 07eb66c205 Fixed res.download() callback, passing stream. Closes #528
should be able to figure something out with this.
at very least use redis or something with INCR/DECR to
keep a count on active downloads
2011-02-10 08:57:53 -08:00
Tj Holowaychuk 0e790e6fb5 using Stream#pipe() instead of sys.pump() 2011-02-10 08:50:11 -08:00
Tj Holowaychuk 08186924a4 qs >= 0.0.3 2011-02-08 16:57:09 -08:00
Tj Holowaychuk e9faf5cf94 Updated qs submodule 2011-02-08 16:56:33 -08:00
Tj Holowaychuk 8c0efe09e5 comment typo 2011-02-08 12:34:00 -08:00
Tj Holowaychuk 32d2c96d22 docs 2011-02-08 11:07:06 -08:00
Tj Holowaychuk e958988989 styling for stylus example 2011-02-08 11:01:53 -08:00
Tj Holowaychuk 131f10bd80 more work on stylus example 2011-02-08 10:55:22 -08:00
Tj Holowaychuk a61615a196 Setting up Stylus example 2011-02-08 10:42:39 -08:00
Tj Holowaychuk 4fdb6910a5 Allow req.query to be pre-defined (via middleware or other parent app) 2011-02-07 16:30:38 -08:00
Tj Holowaychuk 67c4c90351 Updated qs submodule 2011-02-07 15:35:46 -08:00
Tj Holowaychuk 16f7288b19 Updated connect submodule 2011-02-07 15:35:43 -08:00
Tj Holowaychuk 36a7e87ae4 querystring -> qs 2011-02-07 14:36:28 -08:00
Tj Holowaychuk 16badda118 Added test for periods in dirname when using "view engine" 2011-02-07 13:59:14 -08:00
Tj Holowaychuk 99820e7edc Refactored req/res proto assignments
since the names may change in the near future (is suspect at least)
due to inconsistancies
2011-02-03 21:05:04 -08:00
Tj Holowaychuk 6a03a92f5f Refactored res.header() 2011-02-03 21:03:27 -08:00
Tj Holowaychuk 80c3b98a84 Added multiple Set-Cookie header tests 2011-02-03 21:01:28 -08:00
Tj Holowaychuk afd2b4b387 Removed alternate installation methods (use git, tarball, or npm) 2011-02-03 21:00:33 -08:00
Tj Holowaychuk df49769f3d Fixed two tests 2011-02-03 20:49:53 -08:00
Tj Holowaychuk 05c2946322 Added qs submod 2011-02-03 20:47:54 -08:00
Tj Holowaychuk 2ed392edbf Updated connect submodule 2011-02-03 20:44:19 -08:00
Tj Holowaychuk 3d597a554d moved files from lib/express/* to lib/ 2011-02-03 20:20:42 -08:00
Tj Holowaychuk 42af4e40ae Updated connect submodule 2011-02-03 20:19:32 -08:00
Tj Holowaychuk 242efc7219 Updated jade submodule 2011-02-02 09:42:09 -08:00
Tj Holowaychuk a6bacb857d Added redis session example 2011-02-01 10:02:15 -08:00
Tj Holowaychuk eab54724a1 connect >= 0.5.7 2011-02-01 08:32:50 -08:00
Tj Holowaychuk 49885cfeff Updated connect submodule 2011-02-01 08:31:14 -08:00
Tj Holowaychuk 4330f49011 Added stylus support to express(1) generated app 2011-01-31 14:40:19 -08:00
Tj Holowaychuk 7687299275 Added secret to session middleware used in examples and generated app 2011-01-29 12:36:48 -08:00
Tj Holowaychuk 79ba787b03 Re-added jade submodule to hopefully fix #514 2011-01-28 12:04:12 -08:00
Tj Holowaychuk 5a184a205f Removed jade submodule 2011-01-28 12:03:39 -08:00
Tj Holowaychuk 4b5a6b597a Added formidable submod for multipart example 2011-01-25 10:04:06 -08:00
Tj Holowaychuk 9e9c3eeb79 Added vhost example 2011-01-25 09:38:02 -08:00
Tj Holowaychuk cd996f9dbf Updated connect submodule 2011-01-25 09:12:24 -08:00
Tj Holowaychuk ab4c91158a Added another partial locals test 2011-01-25 07:56:20 -08:00
Tj Holowaychuk 1130a23e5b Added test for partial locals on subsequent calls 2011-01-25 07:39:14 -08:00
Tj Holowaychuk 9ac6943220 Updated jade submodule 2011-01-24 11:45:58 -08:00
Tj Holowaychuk 0f55284b77 Updated changelog 2011-01-20 08:39:29 -08:00
Tj Holowaychuk c75046de3f docs 2011-01-19 11:01:59 -08:00
Tj Holowaychuk e7df82f110 Added 416 support to res.sendfile() 2011-01-19 09:28:48 -08:00
Tj Holowaychuk ee4c7d3007 Removed "stream threshold" setting 2011-01-19 09:17:27 -08:00
Tj Holowaychuk 2895303421 Added Content-Length to res.sendfile(). Closes #507 2011-01-19 09:07:05 -08:00
Tj Holowaychuk 3f16f05525 Added HEAD support to res.sendfile() 2011-01-19 08:47:42 -08:00
Tj Holowaychuk fb33671923 Ignore testing.js 2011-01-19 08:43:51 -08:00
Tj Holowaychuk 482fb5b6e2 Strip unsafe chars from jsonp callbacks 2011-01-13 14:13:16 -08:00
Tj Holowaychuk b1004b61f9 fixed session example/tests due to connect changes 2011-01-13 12:11:18 -08:00
Tj Holowaychuk 27af9b2605 Updated connect submodule 2011-01-13 12:09:49 -08:00
Tj Holowaychuk e28ac866f8 fixed width for github example css 2011-01-12 10:17:31 -08:00
Tj Holowaychuk 5e0a80f227 Updated connect submodule 2011-01-09 23:42:42 -08:00
Tj Holowaychuk ec0982ca1f Added flash messages to blog example 2011-01-05 19:09:56 -08:00
Tj Holowaychuk e7c442d21c Updated connect submodule 2011-01-03 13:34:36 -08:00
Tj Holowaychuk a9db47fdd3 Updated connect submodule 2011-01-03 13:30:54 -08:00
Tj Holowaychuk b856a72886 more examples 2010-12-31 16:13:19 -08:00
Tj Holowaychuk 03da0d31f9 Styling 2010-12-31 15:46:50 -08:00
Tj Holowaychuk 1c40e4374b More example 2010-12-31 15:37:27 -08:00
Tj Holowaychuk d7df1426f2 Updated connect submodule 2010-12-31 15:07:00 -08:00
Tj Holowaychuk 5035e86f59 more example 2010-12-31 15:03:00 -08:00
Tj Holowaychuk 0af91265ab Added default param support to req.param(name, default) 2010-12-31 09:21:51 -08:00
Tj Holowaychuk 8e63d04e66 Re-built docs 2010-12-31 09:04:44 -08:00
Tj Holowaychuk 5ac0c6deb0 Added res.local(name[, val]) docs 2010-12-31 09:04:30 -08:00
Tj Holowaychuk 6b0d82fb0c Added res.local() for progressive view locals
for middleware etc.
res.local("foo", "bar") => "bar"
res.local("foo") => "bar"
2010-12-31 08:59:35 -08:00
Tj Holowaychuk 2bfdfe366c Fixed for middleware stacked via createServer() 2010-12-29 11:21:24 -08:00
Tj Holowaychuk 898fb0f320 Added failing middleware precedence tests 2010-12-29 11:15:40 -08:00
Tj Holowaychuk f53686a2f3 Fixed index view resolution bug introduced by 1c2e9a476c 2010-12-29 08:57:56 -08:00
mgutz eae1670f54 madestr local 2010-12-29 08:45:22 -08:00
Tj Holowaychuk 544d68833c Fixed express(1) support for < 0.3.x 2010-12-28 12:00:04 -08:00
Tj Holowaychuk c24a6b2359 Fixed express(1) mode 2010-12-28 11:56:44 -08:00
Tj Holowaychuk b720b57d1d Updated jade submodule 2010-12-28 04:59:28 -08:00
Tj Holowaychuk 365b7fe90a Merge branch 'OPTIONS' 2010-12-28 04:05:44 -08:00
Tj Holowaychuk c7ab833e66 Added OPTIONS test 2010-12-28 04:05:39 -08:00
Tj Holowaychuk 9536f288e9 Updated connect submodule 2010-12-28 04:03:43 -08:00
Tj Holowaychuk e64d4039d0 Generating methods based on connect.router.methods 2010-12-28 03:12:11 -08:00
Tj Holowaychuk 5f077e56f0 Updated connect submodule 2010-12-28 03:09:07 -08:00
Tj Holowaychuk a9253a24e0 Added docs for app.{disabled,enabled}() 2010-12-23 09:29:43 -08:00
Tj Holowaychuk 749136b526 Added app.disabled() and app.enabled() 2010-12-23 09:28:15 -08:00
Tj Holowaychuk 36a8b7b7f3 Docs 2010-12-22 15:49:37 -08:00
Tj Holowaychuk a29908c865 Few jade changes to partials example 2010-12-22 15:48:41 -08:00
Hunter Loftis 57d87c27cd Created examples/partials to demonstrate view name, file, object resolution 2010-12-22 15:44:26 -08:00
Hunter Loftis 1c2e9a476c Fixed _ prefix object resolution on partials (resolveObjectName), added _ prefix fallback to view file resolution (prefixPath) 2010-12-22 15:44:26 -08:00
shuwatto 5d87133df0 Constants don't exist in process. The same problem is reported following link https://github.com/senchalabs/connect/issues/closed#issue/119 2010-12-21 09:04:23 -08:00
Tj Holowaychuk fd2f67b73f Route precondition docs 2010-12-20 05:53:50 -08:00
Tj Holowaychuk d3abcaf67b Regenerated docs 2010-12-20 05:41:05 -08:00
Tj Holowaychuk 14dce5ac2b Docs 2010-12-20 05:40:51 -08:00
Tj Holowaychuk abd002071a Test for named capture groups 2010-12-20 05:29:01 -08:00
Tj Holowaychuk 77add42eeb Updated connect submodule 2010-12-20 05:27:21 -08:00
Tj Holowaychuk bba049b4bf Docs 2010-12-20 05:27:07 -08:00
Tj Holowaychuk 4e41c3520c Contrib guide link 2010-12-20 05:18:32 -08:00
Tj Holowaychuk 4144af3351 Added screencasts page 2010-12-20 05:17:25 -08:00
Tj Holowaychuk 30f749a2a2 Docs 2010-12-20 05:05:47 -08:00
Tj Holowaychuk 6e9f282af7 added .npmignore 2010-12-18 13:42:43 -08:00
Tj Holowaychuk 4491be01dd Using named capture group for downloads example 2010-12-16 09:21:31 -08:00
Tj Holowaychuk 8c163fd980 Updated connect-form submodule 2010-12-15 09:45:45 -08:00
Tj Holowaychuk 9f6a158fc2 Fixed SyntaxError in express(1) app tests 2010-12-14 08:20:00 -08:00
Tj Holowaychuk 19965fa3c8 Aliased app.helpers() as app.locals(). Closes #481 2010-12-12 16:10:59 -08:00
Tj Holowaychuk 6bb42ffafc should 2010-12-12 16:10:01 -08:00
Tj Holowaychuk 4a1edc0720 indentation fix 2010-12-12 16:08:27 -08:00
Tj Holowaychuk a5a016bf33 Updated connect submodule 2010-12-10 12:42:55 -08:00
Tj Holowaychuk 4be4f597a3 Updated connect submodule 2010-12-10 12:42:36 -08:00
Tj Holowaychuk dfbbd4f784 Merge branch 'partials' 2010-12-10 10:18:44 -08:00
Tj Holowaychuk 2662dae560 Removed "_" prefix from partials 2010-12-10 10:18:38 -08:00
Tj Holowaychuk 6f6f9f08f8 Added app.register() support for omitting leading "." 2010-12-10 08:15:27 -08:00
Tj Holowaychuk a76fba57c4 Added extname with no leading "." support to res.contentType)
For example now you may:

    res.contentType("png");

or

    res.contentType(".png");

both are fine now
2010-12-10 08:14:15 -08:00
Tj Holowaychuk 680766f29b Updated jade submodule 2010-12-08 10:29:07 -08:00
Tj Holowaychuk adcfd4ca4d Added more screencast links 2010-12-06 19:25:17 -08:00
Tj Holowaychuk e276a49a91 Updated connect submodule 2010-12-06 18:13:07 -08:00
Tj Holowaychuk 5995f763b1 connect >= 0.5.0 2010-12-06 18:11:34 -08:00
Tj Holowaychuk a123639b5c Fixed placeholder example 2010-12-06 17:45:01 -08:00
Tj Holowaychuk 8a118d53c8 Fixed some namespaced connect requires 2010-12-06 17:41:56 -08:00
Tj Holowaychuk d572391532 Updated connect submodule 2010-12-06 17:39:27 -08:00
Tj Holowaychuk 58ae7a0402 Added param placeholder precondition example 2010-12-06 17:38:51 -08:00
Tj Holowaychuk f843093a8c Added Array support to Server#param() 2010-12-06 17:28:17 -08:00
Tj Holowaychuk 3e06586f81 Added Server#param() 2010-12-06 17:18:44 -08:00
Tj Holowaychuk 60f148326a Updated expresso submodule 2010-12-06 17:05:30 -08:00
Tj Holowaychuk 02e1413ca5 Updated connect submodule 2010-12-06 17:04:50 -08:00
Tj Holowaychuk 7b4b85ee54 Updated connect submodule 2010-12-06 14:53:14 -08:00
Tj Holowaychuk 6c0a416f16 Added view partials screencast link 2010-12-05 11:06:26 -08:00
Tj Holowaychuk 23cc88bf92 Added introduction screencast link 2010-12-05 10:44:13 -08:00
Tj Holowaychuk 5528f0ddf2 Misc refactoring 2010-12-05 10:13:06 -08:00
Tj Holowaychuk 8d3296fb1b Fixed mvc example due to view lookup changes 2010-12-05 10:02:38 -08:00
Tj Holowaychuk 136f9209a3 route-separation example using new view resolution 2010-12-05 10:00:07 -08:00
Tj Holowaychuk a290134fd2 Merge branch 'view-index' 2010-12-05 09:56:20 -08:00
Tj Holowaychuk a54e59666a Added view index resolution support 2010-12-05 09:55:11 -08:00
Tj Holowaychuk 42ea6af1eb Added view index template support 2010-12-05 09:49:11 -08:00
Tj Holowaychuk f9b741766b Started view index support 2010-12-05 09:46:59 -08:00
Tj Holowaychuk 09359329a0 ejs example using new partial lookup 2010-12-05 09:37:50 -08:00
Tj Holowaychuk 647bb41ddf Merge branch 'partial-lookup' 2010-12-05 09:33:26 -08:00
Tj Holowaychuk f25c14d48d Fixed partial parent view ref 2010-12-05 09:33:20 -08:00
Tj Holowaychuk 81a3d559f5 Removed a require 2010-12-05 09:22:19 -08:00
Tj Holowaychuk 4e0ee7a5da Added more partial view path tests 2010-12-05 09:20:58 -08:00
Tj Holowaychuk 1c80a258d2 Passing dir 2010-12-05 09:17:20 -08:00
Tj Holowaychuk 129ed6a07b Added Partial#resolvePartialPath() 2010-12-05 09:16:12 -08:00
Tj Holowaychuk df09a0c73b Partial tests using real fixtures 2010-12-05 09:13:41 -08:00
Tj Holowaychuk ff5c958354 express(1) no longer passing assert in tests 2010-12-02 15:51:52 -08:00
Tj Holowaychuk 4f90c89db6 refactored req.accepts() 2010-12-02 10:07:28 -08:00
Tj Holowaychuk 524b515fdb docs 2010-12-02 10:06:40 -08:00
Tj Holowaychuk 163256b001 Added req.accepts() support for extensions 2010-12-02 10:05:29 -08:00
Tj Holowaychuk 05bbc65dcc Added failing req.accepts() test 2010-12-02 10:03:59 -08:00
Tj Holowaychuk 6624f6b7f9 Added more req.accepts() tests 2010-12-02 10:03:25 -08:00
Tj Holowaychuk f32279dec5 more partial docs 2010-11-29 17:20:13 -08:00
Tj Holowaychuk a90fd85907 Added strategic cache example (with redis) 2010-11-29 17:01:28 -08:00
Tj Holowaychuk 9815b27e94 Updated connect submodule 2010-11-29 09:57:53 -08:00
Tj Holowaychuk ebbe481fe7 Added default link color for express(1) generated apps 2010-11-28 13:19:23 -08:00
Tj Holowaychuk 9e337faa33 Removed ./views/partials generation in express(1) 2010-11-28 10:45:48 -08:00
Tj Holowaychuk 37826e0261 Fixed locals in express(1) generated app 2010-11-28 10:29:10 -08:00
Tj Holowaychuk 20e4342796 Fixed uncached templates in development 2010-11-25 15:46:57 -08:00
Tj Holowaychuk 51be16950d Added isLayout back 2010-11-25 14:54:42 -08:00
Tj Holowaychuk be866a78ff fixed session example 2010-11-25 14:14:31 -08:00
Tj Holowaychuk f9d2432c69 fixed route-separation example 2010-11-25 14:14:13 -08:00
Tj Holowaychuk 6543a3d75a added format support to resource example 2010-11-25 14:11:52 -08:00
Tj Holowaychuk a77936981e Fixed resource example 2010-11-25 14:08:27 -08:00
Tj Holowaychuk 6f2120bb59 Fixed mvc example 2010-11-25 14:05:28 -08:00
Tj Holowaychuk 98e18239fd refactored multipart example 2010-11-25 13:59:10 -08:00
Tj Holowaychuk 3d159015be misc 2010-11-25 13:56:12 -08:00
Tj Holowaychuk f5af66a1ab fixed github example 2010-11-25 13:53:51 -08:00
Tj Holowaychuk 540192ff96 refactored format example 2010-11-25 13:50:32 -08:00
Tj Holowaychuk c1cfd4a8c6 refactored form example 2010-11-25 13:47:49 -08:00
Tj Holowaychuk 322300c329 fixed flash example 2010-11-25 13:46:40 -08:00
Tj Holowaychuk 1ac18f7903 refactored error-pages example 2010-11-25 13:44:52 -08:00
Tj Holowaychuk 4f4987e9ea misc 2010-11-25 13:41:50 -08:00
Tj Holowaychuk 65bf562ff4 refactored downloads example 2010-11-25 13:41:15 -08:00
Tj Holowaychuk f47032e7e9 refactored cookies example 2010-11-25 13:40:50 -08:00
Tj Holowaychuk 379f3ec8dd removed blog example 2010-11-25 13:40:02 -08:00
Tj Holowaychuk 8d7e35b723 refactored auth example 2010-11-25 13:39:07 -08:00
Tj Holowaychuk 1349eea0d0 misc refactoring 2010-11-24 14:44:00 -08:00
Tj Holowaychuk bed5157f32 Make note in docs that res.send() is a convenience method, and should only be called once (ATM) 2010-11-24 10:07:25 -08:00
Tj Holowaychuk 12c7f51a1e Updated jade submodule 2010-11-24 08:14:36 -08:00
Tj Holowaychuk 7e32c8de4d unroll partial rendering for performance 2010-11-23 10:27:26 -08:00
Tj Holowaychuk 3a42350c21 cache resolveObjectName() 2010-11-23 10:14:30 -08:00
Tj Holowaychuk 1a54597202 todo 2010-11-23 10:07:24 -08:00
Tj Holowaychuk 39f4eb9940 Added "cache views" setting, defaulting to enabled in "production" env 2010-11-23 09:49:43 -08:00
Tj Holowaychuk 4b996651af fixed template caching 2010-11-23 09:45:50 -08:00
Tj Holowaychuk 884d40f321 caching compiled view functions 2010-11-23 09:42:19 -08:00
Tj Holowaychuk 3d2b41da08 todo 2010-11-23 09:07:36 -08:00
Tj Holowaychuk 1bf2dbb7df Added memoized path utils 2010-11-23 08:58:36 -08:00
Tj Holowaychuk e0dfb77dd1 misc refactoring 2010-11-22 21:08:24 -08:00
Tj Holowaychuk 578fddc1b7 cache view contents again 2010-11-22 18:28:19 -08:00
Tj Holowaychuk 089355d706 Merge branch 'views' 2010-11-22 17:55:17 -08:00
Tj Holowaychuk 6b2c3caf03 fixed register 2010-11-22 17:55:14 -08:00
Tj Holowaychuk 065c37cb28 moved View and Partial into their own files 2010-11-22 17:52:45 -08:00
Tj Holowaychuk 3a40025fd3 Merge branch 'views' 2010-11-22 17:36:59 -08:00
Tj Holowaychuk 8dc341d868 removed old code 2010-11-22 17:36:50 -08:00
Tj Holowaychuk 0ed121ddbd Merge branch 'views' 2010-11-22 17:24:50 -08:00
Tj Holowaychuk 969f4229dc added Partial.resolveObjectName() 2010-11-22 17:24:44 -08:00
Tj Holowaychuk 27a940184e removed old cacheViewSync() 2010-11-22 17:02:50 -08:00
Tj Holowaychuk 77fa09a506 relative view option 2010-11-22 16:58:39 -08:00
Tj Holowaychuk 8836104ab2 absolute layouts 2010-11-22 16:56:55 -08:00
Tj Holowaychuk 396837517d fixed ejs example for new locals 2010-11-22 16:43:47 -08:00
Tj Holowaychuk 38b3f1bde2 fixed "view options" support 2010-11-22 16:41:56 -08:00
Tj Holowaychuk 4780168ba8 implementing new locals 2010-11-22 16:39:55 -08:00
Tj Holowaychuk d1a790d103 fixed jade example for new locals 2010-11-22 16:32:51 -08:00
Tj Holowaychuk 3ad6ab8c6a removed locals: from view tests 2010-11-22 16:24:05 -08:00
Tj Holowaychuk 1e189da85e refactored dynamicHelper support 2010-11-22 16:19:53 -08:00
Tj Holowaychuk a094c50873 indentation 2010-11-22 16:16:29 -08:00
Tj Holowaychuk ad324410c6 Utilizing the new View / Partial constructors 2010-11-22 16:12:30 -08:00
Tj Holowaychuk 9f4b7368a0 Started View implementation 2010-11-22 11:33:20 -08:00
Tj Holowaychuk c8ddedb8d0 jade example fixes 2010-11-19 17:12:34 -08:00
Tj Holowaychuk 7deab2826b Updated jade submodule 2010-11-19 17:08:35 -08:00
Tj Holowaychuk 643879f779 using should / refactored tests 2010-11-19 16:00:21 -08:00
Tj Holowaychuk ce2a18f483 master is 2.0.0-pre 2010-11-18 07:48:31 -08:00
Tj Holowaychuk 487d067f75 Fixed route-separation example require 2010-11-17 11:26:50 -08:00
Tj Holowaychuk c4d5e1b4f3 Docs 2010-11-16 18:04:48 -08:00
Tj Holowaychuk 0e0cc30039 Docs 2010-11-16 17:58:30 -08:00
Tj Holowaychuk a766cc791b Release 1.0.0 2010-11-16 17:54:58 -08:00
Tj Holowaychuk d017c3e248 Rebuilt docs 2010-11-16 17:43:23 -08:00
Tj Holowaychuk cc27ee04a8 PREFIX 2010-11-16 17:36:31 -08:00
Tj Holowaychuk 87459bf24b undoc manual install method 2010-11-16 17:36:05 -08:00
Tj Holowaychuk 5091c9e10f Added posts to the reoute separation example 2010-11-13 10:55:15 -08:00
Tj Holowaychuk 14a22d9033 Updating users 2010-11-13 10:37:23 -08:00
Tj Holowaychuk 7ded5a2de5 Started route separation example 2010-11-13 10:33:41 -08:00
Tj Holowaychuk 6b436a0192 Fixed github example styling 2010-11-13 09:29:42 -08:00
Tj Holowaychuk 52343686f5 Docs 2010-11-12 09:00:03 -08:00
Tj Holowaychuk eec9d05b19 connect >= 0.3.0 2010-11-12 08:46:29 -08:00
Tj Holowaychuk 89703fd430 Added catchall test 2010-11-12 08:45:47 -08:00
Tj Holowaychuk dc246946a7 Added app.all() support 2010-11-12 08:44:10 -08:00
Tj Holowaychuk 944e1120cb Updated connect submodule 2010-11-12 08:39:39 -08:00
Tj Holowaychuk cccda60df8 Added link to node-jqtpl template engine 2010-11-08 07:18:45 -08:00
Tj Holowaychuk e338e748eb Removed Content-Length for chunked 2010-11-05 04:31:56 -07:00
Tj Holowaychuk 0526a24cf3 Renamed pages example to error-pages. Closes #459 2010-11-05 02:39:08 -07:00
Tj Holowaychuk c4ba1b025a Updated jade submodule 2010-10-30 13:35:09 -07:00
Tj Holowaychuk 252f330658 Revert "only register error handlers once"
This reverts commit 45590415a6.
2010-10-29 19:59:18 -07:00
Tj Holowaychuk 45590415a6 only register error handlers once 2010-10-29 19:54:17 -07:00
Tj Holowaychuk e562adc752 Settings docs 2010-10-26 14:15:29 -07:00
Tj Holowaychuk 1e2fd44a6b Removed a set() call 2010-10-26 14:14:47 -07:00
Tj Holowaychuk 1c903320be New partial() docs 2010-10-26 12:08:59 -07:00
Tj Holowaychuk 74eaf3a268 Added objectName() 2010-10-26 12:02:40 -07:00
Tj Holowaychuk 6fcd74c713 Added missing files 2010-10-26 11:59:31 -07:00
Tj Holowaychuk 33136c6553 Fixed partial local inheritance precedence. Closes #454 2010-10-26 11:50:44 -07:00
Tj Holowaychuk cb225db203 Added failing partial local precedence test [reported by Nick Poulden] 2010-10-26 11:47:13 -07:00
Tj Holowaychuk 0dbd5006ea Caching view path derived partial object names 2010-10-26 11:34:11 -07:00
Tj Holowaychuk 08b3677ce8 Merge branch 'partial-object' 2010-10-26 11:31:46 -07:00
Tj Holowaychuk b08549a25b Added partial direct object support
these are now equivalent:

before:

    partial(movie, { object: movieRecord })

after:

    partial(movie, movieRecord)
2010-10-26 11:31:40 -07:00
Tj Holowaychuk 221bc4cb5d Misc refactor of partial() 2010-10-26 11:22:56 -07:00
Tj Holowaychuk b655b8e97b Added partial object test 2010-10-26 11:22:14 -07:00
Tj Holowaychuk 03e7b5dcc6 Fixed a test 2010-10-26 11:10:43 -07:00
Tj Holowaychuk 5f09e829df Updated connect submodule 2010-10-26 01:18:16 -07:00
Tj Holowaychuk e6759919dc fine with --version 0.2.4 2010-10-25 08:22:58 -07:00
Tj Holowaychuk 6c65a3fc74 Removed old app section from docs 2010-10-22 21:11:41 -07:00
Tj Holowaychuk e0ffd31123 Added development seed's cool project to applications.html 2010-10-22 16:20:15 -07:00
Tj Holowaychuk 4c1597113a Added another partial test 2010-10-21 19:52:33 -07:00
Tj Holowaychuk 4006506b64 Added another partial locals test 2010-10-21 19:42:40 -07:00
Tj Holowaychuk 14facdbcd2 Merge branch 'partial-locals' 2010-10-21 19:29:40 -07:00
Tj Holowaychuk 726ace49d8 Added partial locals test with collection 2010-10-21 19:29:29 -07:00
Tj Holowaychuk f45d383367 Fixed a test 2010-10-21 19:24:44 -07:00
Tj Holowaychuk 3a32e2b53a Added failing partial locals test 2010-10-21 19:15:20 -07:00
Tj Holowaychuk dc45e93cea jsonp text/javascript as per mailinglist discussion 2010-10-21 14:11:07 -07:00
Tj Holowaychuk c0f9642719 Merge branch 'bin' 2010-10-20 10:07:48 -07:00
Tj Holowaychuk da8d036997 Implemented --template support 2010-10-20 10:07:43 -07:00
Tj Holowaychuk 3c911cc785 connect >= 0.2.7 2010-10-20 09:54:03 -07:00
Tj Holowaychuk 4071f15f27 Updated connect submodule 2010-10-20 09:49:13 -07:00
Tj Holowaychuk 90de7923db Added -t, --template flag 2010-10-19 17:39:02 -07:00
Tj Holowaychuk c28f1535a3 Started ejs template support for express(1) 2010-10-19 17:37:13 -07:00
Tj Holowaychuk 704e9c132e Rebuilt docs 2010-10-19 17:19:36 -07:00
Tj Holowaychuk 713d6f5f76 Installation suggestions when using express(1) 2010-10-19 17:19:22 -07:00
Tj Holowaychuk 1a6d245eae Added -s, --session[s] support to express(1)
This adds cookieDecoder() / session() middleware for you
2010-10-19 17:12:28 -07:00
Tj Holowaychuk d909dd2a32 Merge branch 'bin' 2010-10-19 17:03:07 -07:00
Tj Holowaychuk 7bb466dd86 Added -c, -css ENGINE option to express(1)
For example $ express
will now just create style.css

where as $ express --css sass
will generate style.sass for you and setup the compiler middleware

etc
2010-10-19 17:02:13 -07:00
Tj Holowaychuk e09bf5cc40 Updated jade submodule 2010-10-19 15:02:56 -07:00
Tj Holowaychuk 129e21e7c3 Regenerate api docs 2010-10-19 10:55:15 -07:00
Tj Holowaychuk 87dcd2909d Doc typo 2010-10-19 10:54:45 -07:00
Tj Holowaychuk e47ec4f551 Doc typo 2010-10-19 10:53:17 -07:00
Tj Holowaychuk d6cfcbe149 Misc doc changes 2010-10-19 09:41:47 -07:00
Tj Holowaychuk 7a713807e9 Merge branch 'is' 2010-10-19 09:34:34 -07:00
Tj Holowaychuk 6e49b5bc30 More req.is() docs for new feature 2010-10-19 09:34:29 -07:00
Tj Holowaychuk adbc5b86f5 Added req.is() wildcard support 2010-10-19 09:30:56 -07:00
Tj Holowaychuk 071ea955af More is() docs 2010-10-19 09:22:11 -07:00
Tj Holowaychuk 806aefa966 Added req.is() docs 2010-10-19 09:20:16 -07:00
Tj Holowaychuk 5b7d23186d Merge branch 'is' 2010-10-19 09:15:08 -07:00
Tj Holowaychuk 0cb4677e80 Added app.is() to register req.is() assertions 2010-10-19 09:15:02 -07:00
Tj Holowaychuk bd65ecf17b Implemented req.is() 2010-10-19 08:59:06 -07:00
Tj Holowaychuk 9da2adff4c Added tests for req.is() 2010-10-19 08:50:48 -07:00
Tj Holowaychuk a2a1aad109 Updated jade submodule 2010-10-18 08:51:36 -07:00
Tj Holowaychuk dcc530a389 More apps 2010-10-17 10:19:18 -07:00
Tj Holowaychuk 97037a87f3 Fixed nodeko link 2010-10-16 19:21:24 -07:00
Tj Holowaychuk 4e67efc0d6 Merge branch 'apps' 2010-10-16 19:18:38 -07:00
Tj Holowaychuk 7cbb73719e Finished app page (for now) 2010-10-16 19:18:31 -07:00
Tj Holowaychuk d3f139c31e Started apps section 2010-10-16 19:00:33 -07:00
Tj Holowaychuk 8940b6e5a3 Added X-Powered-By, remove Connects "Server" header field
potentially a security issue... I told Tim not to add this :p,
so for now we just hide it in Express until I have a chance to remove
it from Connect, at least the versions.
2010-10-16 18:24:24 -07:00
Tj Holowaychuk 1c9831a9f4 Regenerated docs 2010-10-15 12:51:14 -07:00
Tj Holowaychuk 7da27435cc Doc typo 2010-10-15 12:51:03 -07:00
Tj Holowaychuk bd18f86517 Updated jade submodule 2010-10-15 12:25:40 -07:00
Tj Holowaychuk 41f66b435b Generated app using "view engine" "jade" 2010-10-15 10:17:25 -07:00
Tj Holowaychuk 48481a7230 Docs 2010-10-15 10:12:42 -07:00
Tj Holowaychuk dde6bc1f80 Faster dynamicHelper "merge" 2010-10-15 10:02:02 -07:00
Tj Holowaychuk e39fd1de0e Merge branch 'partials-inherit-locals' 2010-10-15 10:00:08 -07:00
Tj Holowaychuk 2fc9a81e9e Added partial local inheritance [suggested by masylum]. Closes #102 2010-10-15 09:55:04 -07:00
Tj Holowaychuk f65874d751 Added partial inheritance test 2010-10-15 09:40:11 -07:00
Tj Holowaychuk 3914895784 Added http status code string representation to res.redirect() body 2010-10-15 09:20:11 -07:00
Tj Holowaychuk 0bc7e24d0a res.redirect() supporting text/plain and text/html via Accept 2010-10-15 09:13:07 -07:00
Tj Holowaychuk 2a40ceced7 Regenerated docs 2010-10-15 08:25:37 -07:00
Tj Holowaychuk d4868f2cc2 NODE_ENV=production docs, VERY IMPORTANT do this, or your app will be slow :p 2010-10-15 08:25:25 -07:00
Tj Holowaychuk e87d63779d More partial() docs 2010-10-14 09:08:13 -07:00
Tj Holowaychuk 6672d65018 Deduce partial object names from the last segment
user/role.ejs will use "role" as the object name by default
user.ejs will use "user"
forum/thread/post.jade will use "post"

etc
2010-10-14 08:56:49 -07:00
Tj Holowaychuk 1f78c520f5 Added test for collection option with an object 2010-10-14 08:39:05 -07:00
Tj Holowaychuk 687e435a38 Added CoffeeKup as a suggested template engine (let me know of others please :) ) 2010-10-14 04:21:20 -07:00
Tj Holowaychuk b3222dc107 fixed bin/express 2010-10-14 04:17:15 -07:00
Tj Holowaychuk ebba6caa3d 2 spaces in bin/express 2010-10-14 04:15:44 -07:00
Tj Holowaychuk 88bbef9003 Merge branch 'indentation' 2010-10-14 04:07:37 -07:00
Tj Holowaychuk 712771a139 2 spaces in view.js 2010-10-14 04:07:29 -07:00
Tj Holowaychuk 9033b0ded7 2 spaces in utils.js 2010-10-14 04:02:23 -07:00
Tj Holowaychuk 877cfe9393 2 spaces in server.js 2010-10-14 04:01:35 -07:00
Tj Holowaychuk 347aa56acb 2 spaces in response.js 2010-10-14 03:58:44 -07:00
Tj Holowaychuk 0fc410139c 2 spaces in request.js 2010-10-14 03:54:26 -07:00
Tj Holowaychuk 51528235db Regenerated docs 2010-10-14 03:50:33 -07:00
Tj Holowaychuk 003599cbda Release 1.0.0rc4 2010-10-14 03:50:10 -07:00
Tj Holowaychuk bacfad37a9 Updated connect submodule 2010-10-14 03:41:41 -07:00
Tj Holowaychuk 6ef6ba7b8a Fix up app.register() docs. Closes #450
thank ya
2010-10-14 03:03:18 -07:00
Dav Glass 93c0da0367 Added tests for enable/disable of settings 2010-10-12 12:58:59 -07:00
Dav Glass 268d19e8a3 Added config option app.enable('jsonp callback') support 2010-10-12 12:58:59 -07:00
Dav Glass a383b302c2 Added callback query check on response.send to autowrap JSON objects for simple webservice implementations 2010-10-12 12:58:59 -07:00
Tj Holowaychuk 95ebbf2608 Updated jade submodule 2010-10-12 11:27:41 -07:00
Tj Holowaychuk f880574c78 Example typo 2010-10-12 10:09:20 -07:00
Tj Holowaychuk 350c310906 Fixed test typo 2010-10-12 09:49:15 -07:00
Tj Holowaychuk 5026f7686e Updated connect submodule 2010-10-12 09:48:49 -07:00
Tj Holowaychuk ab3337ddf5 Regenerated guide 2010-10-12 08:46:22 -07:00
Tj Holowaychuk c9268f2e3d Doc typo 2010-10-12 08:46:05 -07:00
Tj Holowaychuk fa01388f97 Updated connect-form submodule 2010-10-12 08:30:36 -07:00
Tj Holowaychuk d8dc89ac7b Updated jade submodule 2010-10-12 08:29:59 -07:00
Tj Holowaychuk a659fd1fa9 Added partial() support for array-like collections. Closes #434 2010-10-11 08:37:42 -07:00
Tj Holowaychuk 27fa3ba34c Default env to "development" again [thanks aheckmann] 2010-10-11 08:17:52 -07:00
Tj Holowaychuk 663f42948e Added support for swappable querystring parsers 2010-10-08 11:38:59 -07:00
Tj Holowaychuk baca8f0cdb Added guillermo to package.json contrib 2010-10-07 06:50:29 -07:00
Tj Holowaychuk c5c3a82b23 Removed another sys require 2010-10-07 06:45:48 -07:00
Tj Holowaychuk c0617864e1 Removed sys require 2010-10-07 06:45:14 -07:00
Tj Holowaychuk d9ef9ab497 Merge branch 'perf/cache-dynamicHelpers' 2010-10-07 06:34:49 -07:00
Tj Holowaychuk 65d9f783e1 Added test for dynamic helper cache 2010-10-07 06:32:35 -07:00
Tj Holowaychuk f70232d1b0 Implemented dynamic helper cache. Closes #439 2010-10-07 06:29:58 -07:00
Tj Holowaychuk b083aed245 Doc cleanup 2010-10-07 05:57:27 -07:00
Tj Holowaychuk 0faac20d53 Regenerated docs 2010-10-07 05:53:14 -07:00
Tj Holowaychuk cef14ca7cd Fixed docs 2010-10-07 05:53:02 -07:00
Tj Holowaychuk 090debe0df Regenerated docs 2010-10-07 05:49:35 -07:00
Tj Holowaychuk 296f1270ee Ordering docs 2010-10-07 05:49:19 -07:00
Tj Holowaychuk 334a18a114 Regenerated docs 2010-10-07 05:46:39 -07:00
Tj Holowaychuk dd4ddae082 Added route middleware docs 2010-10-07 05:46:26 -07:00
Tj Holowaychuk 4983e967bc Added route-middleware example 2010-10-07 05:28:09 -07:00
Tj Holowaychuk 0b5e2f14ed Updated ejs submodule 2010-10-07 04:28:11 -07:00
Tj Holowaychuk 70102aecb5 Fixed mvc example 2010-10-07 04:15:34 -07:00
Tj Holowaychuk ae75153561 Merge branch 'features/route-middleware' 2010-10-07 03:49:58 -07:00
Tj Holowaychuk dd23d60513 Recursively apply route middleware 2010-10-07 03:49:38 -07:00
Tj Holowaychuk db95481b76 Added another route middleware test 2010-10-07 03:46:20 -07:00
Tj Holowaychuk 3e0da535b9 Implemented route middleware with arrays 2010-10-07 03:45:23 -07:00
Tj Holowaychuk c74602551e Added test for multiple route middleware 2010-10-07 03:40:54 -07:00
Tj Holowaychuk 1722e2c7a5 Implemented route middleware support 2010-10-07 03:30:39 -07:00
Tj Holowaychuk 8a845e2951 Auth example using route middleware 2010-10-07 03:21:07 -07:00
Tj Holowaychuk 72765bada0 Typo in auth example 2010-10-07 03:16:40 -07:00
Tj Holowaychuk b380f180cc Links 2010-10-07 02:36:34 -07:00
Tj Holowaychuk f1799799a1 Regenerated guide 2010-10-06 08:26:01 -07:00
Tj Holowaychuk 4bc8a8673d More session docs 2010-10-06 08:25:49 -07:00
Tj Holowaychuk cbdd907393 Added logger to pages example 2010-10-05 06:31:21 -07:00
Tj Holowaychuk aa7ff3ef47 typo 2010-10-05 06:27:17 -07:00
Tj Holowaychuk ebdf6434eb Fixing up examples a bit 2010-10-05 06:14:19 -07:00
Tj Holowaychuk 9b7470d204 Exposing ./support libs to examples 2010-10-05 06:08:53 -07:00
Tj Holowaychuk 9f3ab8683c Added log lines to more examples 2010-10-05 06:01:26 -07:00
Tj Holowaychuk fa464aca90 Updated jade submodule 2010-10-05 05:56:42 -07:00
Tj Holowaychuk 2724ce368a Rebuilt docs 2010-10-04 11:17:29 -07:00
Tj Holowaychuk 89f7cbe877 Added session usage docs. Closes #443 2010-10-04 11:16:46 -07:00
Tj Holowaychuk fab9af2206 Merge branch 'range' 2010-10-04 11:06:15 -07:00
Tj Holowaychuk 4d01b4fa59 Handling invalid ranges 2010-10-04 08:36:57 -07:00
Tj Holowaychuk c3365aa37e Merge branch 'master' into range 2010-10-04 08:14:30 -07:00
Tj Holowaychuk 426e80d4c3 Updated jade submodule 2010-10-04 08:04:00 -07:00
Tj Holowaychuk 30a282d126 Updated connect submodule 2010-10-04 08:03:51 -07:00
Tj Holowaychuk 0a96621e3e Docs for layout option 2010-10-04 08:01:17 -07:00
Tj Holowaychuk d9d30abe7a Updated docs to use NODE_ENV 2010-10-01 16:33:27 -07:00
Tj Holowaychuk 03b56d8140 Implement NODE_ENV, EXPRESS_ENV is now deprecated
spark, connect, and express will from now on utilize NODE_ENV.
EXPRESS_ENV support will remain until 1.0
2010-10-01 16:31:32 -07:00
Tj Holowaychuk 1f79ce4e96 Updated connect submodule 2010-10-01 16:26:09 -07:00
Tj Holowaychuk 8d80f23a0f antialiased text 2010-10-01 07:53:56 -07:00
Tj Holowaychuk d89b951451 HTTP verb docs. Closes #415 2010-10-01 07:51:19 -07:00
Tj Holowaychuk 1906a38ec8 express(1) app using 2 spaces instead of 4 2010-09-26 08:24:48 -07:00
Tj Holowaychuk 8d91a3e3b8 Updated jade submodule 2010-09-23 09:24:56 -07:00
Tj Holowaychuk 3324259977 Updated connect submodule 2010-09-23 09:24:52 -07:00
Tj Holowaychuk ec2db2d541 Fixed mvc example listen() call 2010-09-22 16:08:38 -07:00
Tj Holowaychuk 5cf248c7f3 Merge branch 'auth-example' 2010-09-22 12:03:28 -07:00
Tj Holowaychuk 3876a566ff Added authentication example
very raw and minimal but gives people and idea
2010-09-22 12:03:18 -07:00
Tj Holowaychuk 334e6cc618 Started auth example 2010-09-22 10:36:15 -07:00
Tj Holowaychuk 64033fcfc2 Extended utils.parseRange() 2010-09-22 09:34:05 -07:00
Tj Holowaychuk fbe3af4719 Added utils.parseRange() tests 2010-09-22 09:29:25 -07:00
Tj Holowaychuk 699ed4ee85 Started naive Range support 2010-09-22 09:06:11 -07:00
Tj Holowaychuk 903f67a154 Started utils.parseRange() 2010-09-22 08:48:22 -07:00
Tj Holowaychuk 9a89dab9e0 Added Range test 2010-09-22 08:41:20 -07:00
Tj Holowaychuk 435a2565b8 Added Accept-Ranges: bytes 2010-09-22 08:29:48 -07:00
Tj Holowaychuk 8267b8da57 Added res.sendfile() Accept-Ranges test 2010-09-22 08:29:22 -07:00
Tj Holowaychuk 8b5773c246 Multipart typo 2010-09-21 12:38:42 -07:00
Tj Holowaychuk fd4c88d202 Updated docs 2010-09-21 09:21:11 -07:00
Tj Holowaychuk 9b26623aa5 View scope now defaults to the request
No longer the response, as this is more useful for obtaining urls etc
2010-09-21 09:20:04 -07:00
Tj Holowaychuk b115ec7c14 "context" option is no more, use "scope" 2010-09-21 09:18:22 -07:00
Tj Holowaychuk a2e6e2a06a Pass true for res.sendfile() callback when streamed
This is potentially useful since we can no longer
respond, however with readFile() we can respond with a 500
page or similar
2010-09-21 08:51:07 -07:00
Tj Holowaychuk f0eab06a8b Updated docs 2010-09-20 09:54:01 -07:00
Tj Holowaychuk b6c839d693 Release 1.0.0rc3 2010-09-20 09:50:38 -07:00
Tj Holowaychuk 177a724d58 res.sendfile() responding with 403 on malicious path 2010-09-20 09:16:01 -07:00
Tj Holowaychuk 949803dcf6 Merge branch 'downloads' 2010-09-20 09:06:46 -07:00
Tj Holowaychuk b763a88e60 Docs for "stream threshold" setting 2010-09-20 09:06:43 -07:00
Tj Holowaychuk 18c7f164a8 res.sendfile() using sys.pump() when >= "stream threshold" 2010-09-20 08:41:08 -07:00
Tj Holowaychuk e037ff6bba Added Content-Length assertion for res.sendfile() 2010-09-20 08:23:16 -07:00
Tj Holowaychuk 95bfda1ff0 res.sendfile() using fs.stat() 2010-09-20 08:19:21 -07:00
Tj Holowaychuk b9992e0b45 Refactored res.sendfile() 2010-09-20 08:18:38 -07:00
Tj Holowaychuk f6ba793885 Merge branch 'download-example' 2010-09-18 10:25:05 -07:00
Tj Holowaychuk bbe65a8ea3 Fixed res.download() bug; when an error occurs remove Content-Disposition
Previously if you tried to show a 404 page (or similar)
on a failed res.download(), the browser would still prompt for download
2010-09-18 10:25:00 -07:00
Tj Holowaychuk 20af7371d0 Added download example 2010-09-18 10:21:37 -07:00
Tj Holowaychuk a33fb0c439 Added widescript link 2010-09-14 15:56:21 -07:00
Tj Holowaychuk 87003c8b5b Fixed tests for node --version 0.2.1 2010-09-14 08:18:13 -07:00
Tj Holowaychuk ddd48ee79f Added LICENSE as requested by davglass 2010-09-14 07:59:30 -07:00
Tj Holowaychuk a9819df3ee res.send() HEAD support 2010-09-13 12:05:28 -07:00
Tj Holowaychuk 15dffb22aa Updated connect submodule 2010-09-13 11:58:49 -07:00
Tj Holowaychuk 6ef5f1ff62 Merge branch 'integration' 2010-09-13 11:24:33 -07:00
Tj Holowaychuk acc28c68a4 Refactored app.set() 2010-09-13 11:24:20 -07:00
Aaron Heckmann 6c2da60eb0 add test for inherited mounted app settings 2010-09-13 11:20:49 -07:00
Aaron Heckmann 490081077d mounted apps settings now inherited from parent app 2010-09-13 11:20:49 -07:00
Tj Holowaychuk f4a08092da Merge branch 'guide' 2010-09-13 11:14:55 -07:00
Tj Holowaychuk 0116efd4a3 Removed manpage crap from site 2010-09-13 11:14:41 -07:00
Tj Holowaychuk 9719a24f8a Toggling menus 2010-09-13 11:11:47 -07:00
Tj Holowaychuk 3a7d5a099b TOC sections 2010-09-13 11:03:17 -07:00
Tj Holowaychuk 27dba655fc Uncommented cookie assertions previously failing 2010-09-13 10:11:28 -07:00
Tj Holowaychuk a25dd387bf Refactored res.redirect() 2010-09-13 10:10:03 -07:00
Tj Holowaychuk a89767cc16 Cookie docs 2010-09-13 09:52:33 -07:00
Tj Holowaychuk a13df5b68d Added test for res.clearCookie() 2010-09-13 09:44:42 -07:00
Tj Holowaychuk 6a689504ff Fixed res.cookie() test 2010-09-13 09:44:02 -07:00
Tj Holowaychuk 6521d2bcfb Merge branch 'features/cookie' 2010-09-13 09:43:37 -07:00
Tj Holowaychuk 26d55b15de Added cookies example 2010-09-13 09:43:13 -07:00
Tj Holowaychuk 041b7e8a29 Added res.cookie() and res.clearCookie() 2010-09-13 09:43:07 -07:00
Tj Holowaychuk 6eeb425e7a Updated jade submodule 2010-09-11 13:09:39 -07:00
Tj Holowaychuk d2d0eb829e Updated jade submodule 2010-09-10 13:19:14 -07:00
Tj Holowaychuk 058505b664 Updated connect submodule 2010-09-10 13:19:11 -07:00
Tj Holowaychuk 8adecedb40 Added test to confirm view helper usage w/ ejs 2010-09-08 10:49:29 -07:00
Tj Holowaychuk 838a51db21 Merge branch 'master' of github.com:visionmedia/express 2010-09-06 14:06:50 -07:00
Tj Holowaychuk 4d4dfc27fc Updated connect submodule 2010-09-06 14:06:35 -07:00
Tj Holowaychuk 1444439cf3 Wiki 2010-09-06 11:37:48 -07:00
Tj Holowaychuk e64fc8d5ab node dep 2010-09-06 11:03:33 -07:00
Tj Holowaychuk 9a31f772d9 Added contrib link 2010-09-06 10:59:56 -07:00
Tj Holowaychuk 12876ee4ce Added res.send() as 204 in the guide 2010-09-06 10:15:32 -07:00
Tj Holowaychuk a4a349da45 Stripping Content-Length / Content-Type when 204 2010-09-06 10:10:59 -07:00
Tj Holowaychuk ecbc3cae71 res.send() as 204. Closes #419 2010-09-06 10:05:39 -07:00
Tj Holowaychuk 57609c87fb Merge branch 'features/render-status' 2010-09-06 09:44:46 -07:00
Tj Holowaychuk bb2e24e028 Added docs for render() status / headers 2010-09-06 09:44:32 -07:00
Tj Holowaychuk 5cafb26e93 Fixed pages example w/ render() status 2010-09-06 09:43:17 -07:00
Tj Holowaychuk f74ef7b293 Added render() headers option 2010-09-06 09:42:00 -07:00
Tj Holowaychuk 7ef8f531e7 Added render() status option support. Closes #425 2010-09-06 09:38:23 -07:00
Tj Holowaychuk afb65c7b19 Added render() status test 2010-09-06 09:36:22 -07:00
Tj Holowaychuk 74a0673663 Better app.helper() test 2010-09-06 09:11:27 -07:00
Tj Holowaychuk 20fae6e512 Updated jade submodule 2010-09-02 17:08:08 -07:00
Tj Holowaychuk 509cd242f7 Updated connect submodule 2010-09-02 17:06:50 -07:00
Tj Holowaychuk f01ec516eb Updated connect submodule 2010-09-02 09:50:04 -07:00
Tj Holowaychuk 394b1000d2 Updated ejs submodule 2010-08-30 17:46:16 -07:00
Tj Holowaychuk e0b9fba788 Updated jade submodule 2010-08-30 17:46:13 -07:00
Tj Holowaychuk 378ee29cc2 Updated connect submodule 2010-08-30 16:14:06 -07:00
Tj Holowaychuk 02bcef71dd Updated jade submodule 2010-08-27 13:47:48 -07:00
Tj Holowaychuk 248e7c8003 Updated connect submodule 2010-08-27 13:47:41 -07:00
Tj Holowaychuk a2e93ebd56 Fixed Connect links 2010-08-27 12:40:33 -07:00
Tj Holowaychuk 21a9454de1 Merge branch 'confirmation' 2010-08-27 12:38:23 -07:00
Tj Holowaychuk ec286eed08 Added confirmation for express(1) app generation. Closes #391 2010-08-27 12:38:19 -07:00
Tj Holowaychuk f16978d1fe Added flash formatter docs 2010-08-27 12:17:57 -07:00
Tj Holowaychuk fa3adc7606 Merge branch 'flash-formatting' 2010-08-27 12:15:23 -07:00
Tj Holowaychuk 192144fc5d Added extending of flash formatters via app.flashFormatters 2010-08-27 12:15:18 -07:00
Tj Holowaychuk a4d155c5e4 Added flash formatter support. Closes #411 2010-08-27 12:09:55 -07:00
Tj Holowaychuk 6c56e9d199 Added failing assertion for flash formatters 2010-08-27 11:59:29 -07:00
Tj Holowaychuk bb18f87a98 Merge branch 'fix-toc' 2010-08-27 10:13:13 -07:00
Tj Holowaychuk dda6a31381 Fixed TOC. Closes #404 [thanks weaver] 2010-08-27 10:13:08 -07:00
Tj Holowaychuk 6e25e18e98 express(1) now outputting listening msg, and express.MIDDLEWARE vs connect.MIDDLWARE 2010-08-24 13:52:26 -07:00
Tj Holowaychuk ffd978c24f Updated node --version support 2010-08-24 13:35:40 -07:00
Tj Holowaychuk 4c4af03a5a Doc typos 2010-08-24 13:22:52 -07:00
Tj Holowaychuk c0739bb8b7 Fixed bug messing with error handlers when listenFD() is called instead of listen(). [thanks guillermo]
programs such as "spark" call listenFD() to call listen(1) with
a file descriptor, BUT Express was only proxying listen()
to register these handlers. Thanks for catching this bug guillermo!
2010-08-24 13:21:28 -07:00
Tj Holowaychuk 5add7cb0b1 Merge branch 'mvc' 2010-08-24 13:06:53 -07:00
Tj Holowaychuk 99f49f1061 Fixed MVC 500 error example 2010-08-24 13:06:50 -07:00
Tj Holowaychuk 401eaca9ab Mvc example typo 2010-08-24 12:58:30 -07:00
Tj Holowaychuk da784fe02b Added 500 page to mvc example 2010-08-24 12:56:34 -07:00
Tj Holowaychuk d507b29559 Added .json format support to the mvc example 2010-08-24 12:10:29 -07:00
Tj Holowaychuk 35ca13b38d Merge branch 'form' 2010-08-24 10:49:56 -07:00
Tj Holowaychuk 04b92a31a8 Added keepExtensions: true to multipart example 2010-08-24 10:49:52 -07:00
Tj Holowaychuk dd311d759d Better 404 Not Found example 2010-08-20 21:39:35 -07:00
Tj Holowaychuk b504ca9f0a Merged mvc example. Closes #405 2010-08-20 18:09:56 -07:00
Tj Holowaychuk bd61c5c721 Fixed hasMessages dynamic helper 2010-08-20 18:04:01 -07:00
Tj Holowaychuk 24694b0047 mvc styling 2010-08-20 18:03:12 -07:00
Tj Holowaychuk 5258154285 Added 404 page to mvc example 2010-08-20 17:58:29 -07:00
Tj Holowaychuk 221f993b46 Misc refactoring of mvc example 2010-08-20 17:53:55 -07:00
Tj Holowaychuk ae5ea70b93 Editing of email for mvc example as well 2010-08-20 17:29:01 -07:00
Tj Holowaychuk f59ffbeb63 Implemented simple user editing 2010-08-20 17:27:21 -07:00
Tj Holowaychuk ce55275634 ejs parsing *.html for mvc example 2010-08-20 17:11:30 -07:00
Tj Holowaychuk 20c5892f9a More work on mvc example 2010-08-20 17:08:10 -07:00
Tj Holowaychuk 9231245a3f Started mvc example 2010-08-20 16:50:23 -07:00
Tj Holowaychuk cbfed20e6f Updated ejs submodule 2010-08-20 16:23:49 -07:00
Tj Holowaychuk 640274ed52 Merge branch 'redirect-bodies' 2010-08-20 12:30:06 -07:00
Tj Holowaychuk 1507a39a2b res.redirect() using res.send()
Allows for setting of arbitrary headers via res.header()
2010-08-20 12:21:29 -07:00
Tj Holowaychuk e6405653d8 Added res.redirect() Content-Type of text/plain for now 2010-08-20 12:19:08 -07:00
Tj Holowaychuk be1541a646 Added res.redirect() response bodies 2010-08-20 12:17:52 -07:00
Tj Holowaychuk f37f9bf5e3 Updated connect submodule 2010-08-20 08:42:18 -07:00
Tj Holowaychuk a5c39ca8c8 Merge branch 'set-cookie' 2010-08-20 08:41:10 -07:00
Tj Holowaychuk cb7e7b2a74 Pass res.send() headers through res.header() 2010-08-20 08:41:06 -07:00
Tj Holowaychuk 2e8e705bab Fixed multiple Set-Cookie headers via res.header(). Closes #402 2010-08-20 08:29:21 -07:00
Tj Holowaychuk ab3812432b Updated expresso submodule 2010-08-19 11:44:42 -07:00
Tj Holowaychuk d2acb36e3b Updated connect submodule 2010-08-19 11:44:40 -07:00
Tj Holowaychuk 601743ff7a Added boilerplate example 2010-08-18 17:41:06 -07:00
Tj Holowaychuk 7eca74ac05 Updated node --version in readme 2010-08-17 16:45:42 -07:00
Tj Holowaychuk 02b4ec04bb Doc typos 2010-08-17 16:08:02 -07:00
Tj Holowaychuk 8ead9014d0 Regenerated docs again 2010-08-17 13:15:54 -07:00
Tj Holowaychuk 4920e82dd6 Regenerated docs 2010-08-17 13:12:21 -07:00
Tj Holowaychuk 3150253661 Release 1.0.0rc2 2010-08-17 13:09:17 -07:00
Tj Holowaychuk baa423b45a Updated connect submodule 2010-08-16 13:49:33 -07:00
Tj Holowaychuk 77e5d8ea96 Added app.register() docs 2010-08-15 10:20:33 -07:00
Tj Holowaychuk 9a8166d649 Added app.register() for template engine mapping. Closes #390
This is not exactly what you requested, but
I think this is a better approach. With old Express
I used to have "foo.ejs.html" "foo.haml.html" etc,
but that is super verbose.

This will allow for non-authors to support non-compliant
engines without modifying the original module, as well
as having things like .html render with jade
2010-08-15 10:13:47 -07:00
Tj Holowaychuk da8c0cd2db Removed clearCache()
its useless ATM
2010-08-15 09:54:51 -07:00
Tj Holowaychuk fc2711b543 Fixed bug with undefined path 2010-08-12 14:57:36 -07:00
Tj Holowaychuk b4327bd36c Merge branch 'render-callback' 2010-08-11 16:29:10 -07:00
Tj Holowaychuk f7f75923aa Added res.render() callback support as second argument
This previously was not valid:

    res.render(foo, function(){});
2010-08-11 16:28:24 -07:00
Tj Holowaychuk 0b4388bc5b Added test to confirm res.render() callback with layouts 2010-08-11 16:25:31 -07:00
Tj Holowaychuk f08883071f Updated app list 2010-08-11 10:11:20 -07:00
Tj Holowaychuk bb8a2ee3a6 Updated expresso submodule 2010-08-11 09:32:59 -07:00
Tj Holowaychuk 6bfa7595d8 Added callback support to res.download() 2010-08-09 16:11:00 -07:00
Tj Holowaychuk 8308e501cd Fixed res.sendfile() error handling, defer via next()
No need to be so specific here.
2010-08-09 16:04:41 -07:00
Tj Holowaychuk 25909c0d9d Added callback support for res.sendfile() 2010-08-09 16:00:23 -07:00
Tj Holowaychuk 2844b1ac38 Fixed test labels 2010-08-09 15:57:27 -07:00
Tj Holowaychuk 6fd62b1cee No need to pass params in app.redirect() 2010-08-09 09:19:44 -07:00
Tj Holowaychuk 1579f53a61 Updated connect submodule 2010-08-09 08:50:33 -07:00
Tj Holowaychuk 7af7851952 Fixed res.download() test 2010-08-09 08:06:01 -07:00
Tj Holowaychuk 5dbd1a6dcc Merge branch 'format-example' 2010-08-09 08:03:00 -07:00
Tj Holowaychuk 24881537a1 Fixed format example 2010-08-09 08:02:38 -07:00
Tj Holowaychuk 631c29b26b Updated connect submodule 2010-08-09 07:57:45 -07:00
Tj Holowaychuk ab249d4032 Added format example 2010-08-09 07:46:29 -07:00
Tj Holowaychuk 5bfa3f6274 Merge branch 'helper-precedence' 2010-08-09 07:32:20 -07:00
Tj Holowaychuk 82ee25dfaa Added test helper local precedence test 2010-08-09 07:32:12 -07:00
Tj Holowaychuk fd9a24553f Added another dynamicHelper example to flash example 2010-08-09 07:22:33 -07:00
Tj Holowaychuk ae1c20fad9 Fixed flash example. Closes #392 2010-08-09 07:19:55 -07:00
Tj Holowaychuk 734f777ff9 Added failing test for view helper precedence 2010-08-06 16:13:21 -07:00
Tj Holowaychuk 498115d5d9 Merge branch 'fix-error' 2010-08-06 09:04:08 -07:00
Tj Holowaychuk 033ff06b68 More app.error() docs 2010-08-06 09:04:04 -07:00
Tj Holowaychuk c145a8e1a1 Changed "pages" example to show error() handlers defined above routes 2010-08-06 09:01:09 -07:00
Tj Holowaychuk ae5b0dbc29 Fixed issue preventing error handlers from being defined anywhere. Closes #387
Now we can define them in configure() callbacks etc
2010-08-06 08:59:16 -07:00
Tj Holowaychuk 95aa957c80 Altered app.error() tests to reflect issue #387 2010-08-06 08:48:17 -07:00
Tj Holowaychuk 7dff9ddeeb Merge branch 'flash-example' 2010-08-05 17:12:33 -07:00
Tj Holowaychuk b4e755747f Fixed dynamic helper in flash example 2010-08-05 17:12:18 -07:00
Tj Holowaychuk 348fa402be Started flash example 2010-08-05 16:51:07 -07:00
Tj Holowaychuk 344218ff3d Updated docs 2010-08-05 16:19:06 -07:00
Tj Holowaychuk 90a1a2febf Updated examples to use express.<middleware> 2010-08-05 16:10:22 -07:00
Tj Holowaychuk e234a24894 Re-exporting connect middleware auto-loaders 2010-08-05 15:56:33 -07:00
Tj Holowaychuk d9beb75bd6 Updated connect submodule 2010-08-05 15:51:27 -07:00
Tj Holowaychuk dadea8c83d Merge branch 'fix-layouts' 2010-08-05 13:57:02 -07:00
Tj Holowaychuk 31d40e5509 Updated connect submodule 2010-08-05 13:32:22 -07:00
Tj Holowaychuk a917e84b51 Fixed latest test 2010-08-05 11:59:58 -07:00
Tj Holowaychuk f30b497206 Added failing layout test 2010-08-05 11:47:35 -07:00
Tj Holowaychuk 706e32c20b Merge branch 'app-level-view-options' 2010-08-05 09:46:03 -07:00
Tj Holowaychuk 4d98552c37 Docs for "view options" 2010-08-05 09:45:56 -07:00
Tj Holowaychuk 5311bd3f4e Added app level view options
via the "view options" setting
2010-08-05 09:41:26 -07:00
Tj Holowaychuk 8d716fb7ba Added test for "view options" setting 2010-08-05 09:31:14 -07:00
Tj Holowaychuk 01b3caaf49 Updated ejs submodule 2010-08-05 09:21:47 -07:00
Tj Holowaychuk cd73c0b9ca Updated expresso submodule 2010-08-05 08:48:25 -07:00
Tj Holowaychuk 7ec5230402 make install-docs creating PREFIX/share/man/man1 when not present 2010-08-04 09:45:16 -07:00
Tj Holowaychuk 9dbe026f83 make install creating ~/.node_libraries when not present 2010-08-04 09:43:58 -07:00
Tj Holowaychuk 3fae10da3e Merge branch 'integration' 2010-08-04 09:13:25 -07:00
Tj Holowaychuk d775154b92 Added "partials" setting to docs 2010-08-04 09:13:21 -07:00
Tj Holowaychuk 6c306b3542 Fixed "partials" setting 2010-08-04 09:10:58 -07:00
Nick Poulden 58b46ffeac Optionally set partials directory 2010-08-04 09:04:50 -07:00
Tj Holowaychuk 0bb7b7c60e Updated connect submodule 2010-08-04 08:35:16 -07:00
Tj Holowaychuk 58adf9a385 Updated jade submodule 2010-08-04 08:33:18 -07:00
Tj Holowaychuk d6ba968ace Updated expresso 2010-08-04 07:56:26 -07:00
Tj Holowaychuk 1706721a62 Updated ejs 2010-08-04 07:56:11 -07:00
Tj Holowaychuk 7f88bd2eaf Added isLayout property
Aid introspection for another project I am working on
2010-08-03 15:52:20 -07:00
Tj Holowaychuk b819366265 Updated docs 2010-08-03 14:53:35 -07:00
Tj Holowaychuk 47ff7d9dba Fixed doc typo 2010-08-03 14:53:31 -07:00
Tj Holowaychuk e5f5254877 Added default expresso tests to express(1) generated app. Closes #384 2010-08-03 09:57:24 -07:00
Tj Holowaychuk 4778f728f9 Updated ejs submodule 2010-08-02 10:37:03 -07:00
Tj Holowaychuk e80e4573be Updated jade submodule 2010-08-02 09:04:50 -07:00
Tj Holowaychuk fdf0f3f282 Fixed multipart app example 2010-08-02 07:35:38 -07:00
Tj Holowaychuk a81fce47d0 Updated docs 2010-07-31 07:18:35 -07:00
Tj Holowaychuk 2cd6989b11 Fixed some inline comments 2010-07-31 07:18:29 -07:00
Tj Holowaychuk 21abb0d205 Fixed readme version of node 2010-07-30 18:09:51 -07:00
Tj Holowaychuk 5e1a271ca2 Fixed res.render() callback when a layout is used [thanks guillermo] 2010-07-30 16:52:35 -07:00
Tj Holowaychuk 868e4c41e1 Added storify link 2010-07-30 12:51:50 -07:00
Tj Holowaychuk a6e23bb713 Fixed connect dependency version 2010-07-30 10:50:54 -07:00
Tj Holowaychuk 446406dd62 Removed --growl from make test 2010-07-30 10:47:00 -07:00
Tj Holowaychuk 091f9f7eae Test typo 2010-07-30 10:45:35 -07:00
Tj Holowaychuk 10b1e06263 Updated docs 2010-07-30 10:41:12 -07:00
Tj Holowaychuk a8865a51fd Misc docs 2010-07-30 10:29:58 -07:00
Tj Holowaychuk 32343297fc Updated docs 2010-07-30 10:21:33 -07:00
Tj Holowaychuk aaa5deb0c0 Release 1.0.0rc 2010-07-30 10:16:30 -07:00
Tj Holowaychuk 808c519a1f Added doc contrib .. docs :) 2010-07-28 12:48:41 -07:00
Tj Holowaychuk 262b110f9f Removed "reload views" setting and support code
development env will always bypass cache,
however production will not
2010-07-28 11:22:29 -07:00
Tj Holowaychuk d0fe19f996 Added e-resistible.co.uk link 2010-07-28 09:39:29 -07:00
Tj Holowaychuk 8e6675677f Removed direct CONNECT_ENV support
it is now SPARK_ENV, grr tim
2010-07-28 08:55:13 -07:00
Tj Holowaychuk 82dbae6185 Check CONNECT_ENV before connectEnv.name 2010-07-28 08:52:49 -07:00
Aaron Heckmann 943f1df325 typo 2010-07-28 08:27:51 -07:00
Tj Holowaychuk 018abcfe5f Added jade submodule back. Closes #376
This should work hopefully,
not sure what happened there probably
because I forced a push yesterday
2010-07-28 08:25:33 -07:00
Tj Holowaychuk 6b4f716508 Removed jade 2010-07-28 08:24:46 -07:00
Tj Holowaychuk 82b6ff0c28 Added http://clickdummy.net/ link 2010-07-27 15:33:35 -07:00
Tj Holowaychuk d0c3132a63 Updated jade submodule 2010-07-27 14:23:22 -07:00
Tj Holowaychuk 02f0252dea Added http://codeshelver.com/ link 2010-07-27 12:23:21 -07:00
Tj Holowaychuk 74b3921eee Undocumented cache option
Dont pass this manually,
production mode sets cache to true
2010-07-27 12:14:57 -07:00
Tj Holowaychuk 1695c79021 Added wtfjs.com 2010-07-27 10:06:09 -07:00
Tj Holowaychuk a3b0534b86 Updated docs 2010-07-27 10:03:52 -07:00
Tj Holowaychuk a13f94d40f Updated node news url 2010-07-27 09:42:16 -07:00
Tj Holowaychuk 73288420a8 Added "Apps using express" section, PM me to add to the list 2010-07-27 09:30:27 -07:00
Tj Holowaychuk e224387eb4 Misc refactoring 2010-07-27 09:08:40 -07:00
Tj Holowaychuk 626d322639 < 78 cols in view.js so people stop complaining :D 2010-07-27 09:07:37 -07:00
Tj Holowaychuk 7dce7a84c7 Added connect to package.json 2010-07-27 08:10:33 -07:00
Tj Holowaychuk 6234268f10 Updated docs 2010-07-26 17:02:31 -07:00
Tj Holowaychuk 7a1525c568 Defaulting app.enable("reload views") to 500ms 2010-07-26 17:01:08 -07:00
Tj Holowaychuk fe99eb7147 Fixed a dynamic helper assertion 2010-07-26 13:50:06 -07:00
Tj Holowaychuk d691ecbea3 Updated docs 2010-07-26 13:49:37 -07:00
Tj Holowaychuk f60bcca893 Updated examples 2010-07-26 13:36:21 -07:00
Tj Holowaychuk 75661a2266 Route callback signature changed
it is now like Express used to be: (req, res, next)
instead of: (req, res, params, next)

access via req.params
2010-07-26 13:29:16 -07:00
Tj Holowaychuk 1026f361ef req.params.get is now req.query 2010-07-26 13:27:12 -07:00
Tj Holowaychuk 69fe203006 Fixed param tests 2010-07-26 13:25:04 -07:00
Tj Holowaychuk f8ccaa3a81 Updated configuration docs 2010-07-26 09:57:07 -07:00
Tj Holowaychuk c10a0a0cdf Style fixes 2010-07-26 09:49:04 -07:00
ewoudj aceb6ab666 Fixed issue where options.cache was always ignored in view.js. 2010-07-26 09:48:31 -07:00
Tj Holowaychuk c3a2aff9d3 Blog example using "home" 2010-07-26 08:59:26 -07:00
Tj Holowaychuk c9e41db826 Updated express(1). Closes #365 2010-07-26 08:48:34 -07:00
Tj Holowaychuk 1e7a12fff5 New "home" docs 2010-07-26 08:42:40 -07:00
Tj Holowaychuk ba88e48f6a Rebuilt docs 2010-07-26 08:36:11 -07:00
Tj Holowaychuk 52979662c5 Added docs for Server#mounted() 2010-07-26 08:30:10 -07:00
Tj Holowaychuk 50e6d80065 Added mounted hook. Closes #369 2010-07-26 08:27:36 -07:00
Tj Holowaychuk 16a24cfeac Merge branch 'fix-home' 2010-07-26 08:12:22 -07:00
Tj Holowaychuk bab095e5b5 Fixed "home" setting
Now when you use() an app, both the mounted
route and previous home setting are respected.

For example if you have an app mounted to
/blog, and "home" for blog is /posts, home
will become "/blog/posts"
2010-07-26 08:12:18 -07:00
Tj Holowaychuk b1a3b078e9 Added failing "home" setting test 2010-07-26 08:01:26 -07:00
Tj Holowaychuk baae44610a Merge branch 'fix-config' 2010-07-26 07:49:34 -07:00
Tj Holowaychuk 8d2dffe5b4 Fixed middleware/router precedence issue. Closes #366
You can now "use" your router in configure()
blocks where ever you wish, ex:

  app.use(connect.bodyDecoder())
  app.use(app.router)
  app.use(connect.staticProvider())
2010-07-26 07:49:29 -07:00
Tj Holowaychuk 7b3eb23af8 Fixed; configure() callbacks called immediately. Closes #368 2010-07-26 07:45:26 -07:00
Tj Holowaychuk fb526846fe Added failing test for config precedence 2010-07-26 07:35:38 -07:00
Tj Holowaychuk 6bd1371283 Added app.configure() immediate call test 2010-07-26 07:32:57 -07:00
Tj Holowaychuk 3c8c7af196 Updated docs 2010-07-23 17:14:09 -07:00
Tj Holowaychuk 929b43ed48 Fixed changelog typo 2010-07-23 17:09:57 -07:00
Tj Holowaychuk a947064b7d Release 1.0.0beta2 2010-07-23 17:06:47 -07:00
Tj Holowaychuk 5bc9866f43 Added range example to resource 2010-07-23 16:57:12 -07:00
Tj Holowaychuk 61d82e210a Added / to resource example 2010-07-23 16:50:30 -07:00
Tj Holowaychuk a876ac9386 Updated submodules 2010-07-23 16:42:08 -07:00
Tj Holowaychuk da1502c463 Updated expresso submodule 2010-07-23 16:12:27 -07:00
Tj Holowaychuk 76bb782f64 Added support for absolute view paths 2010-07-23 16:12:07 -07:00
Tj Holowaychuk e6f4b043cb Added test for absolute view path 2010-07-23 16:10:15 -07:00
Tj Holowaychuk d651ffaf2e Added failing test for absolute layouts 2010-07-23 16:09:06 -07:00
Tj Holowaychuk e554378b5e s/foo/relative/ 2010-07-23 16:07:58 -07:00
Tj Holowaychuk b463bd797e Added test for layouts in a directory 2010-07-23 16:07:36 -07:00
Tj Holowaychuk 699e6e16c9 Merge branch 'render-next' 2010-07-22 14:15:05 -07:00
Tj Holowaychuk f8477c41e1 res.render() exceptions passed to next() when no callback is given 2010-07-22 14:14:59 -07:00
Tj Holowaychuk 9a63333aec Added test for async render exceptions without callback 2010-07-22 14:09:53 -07:00
Tj Holowaychuk 6e40914258 No more http git submodules 2010-07-22 14:08:24 -07:00
Tj Holowaychuk 56a1dd931e No "or similar" for curl install
Because you need curl in install.sh anyways :D silly me
2010-07-22 13:14:50 -07:00
Tj Holowaychuk 57fd2e6a52 Fixed typo in install.sh 2010-07-22 13:09:01 -07:00
Tj Holowaychuk 113db06cdd Github example now using splat and splitting on /
try:

  http://dev:3000/repos/visionmedia/creationix/isaacs
2010-07-22 12:07:54 -07:00
Tj Holowaychuk 4ee5c59cfd Misc refactoring of github example 2010-07-22 11:56:23 -07:00
Tj Holowaychuk 15812678a3 Added compare view to github example
example visit:

    /repos/visionmedia..someoneelse

This helps illustrate that a RegExp literal can be used
2010-07-22 11:53:45 -07:00
Tj Holowaychuk ee0379b321 Prepping github example for compare view 2010-07-22 11:23:44 -07:00
Tj Holowaychuk dcf279177d Fixed tests due to params.splat removal 2010-07-22 11:04:54 -07:00
Tj Holowaychuk 01115824f7 Updated docs 2010-07-22 11:02:47 -07:00
Tj Holowaychuk b68473ae11 Multi-file example from blog. Closes #364 2010-07-22 09:28:59 -07:00
Tj Holowaychuk a65c203c9b Split blog example into another file 2010-07-22 09:14:29 -07:00
Tj Holowaychuk 0a848240d4 Fixed typo in docs 2010-07-22 08:46:12 -07:00
Tj Holowaychuk d03821b88a Docs for params.captures. Closes #358 2010-07-22 08:30:15 -07:00
Tj Holowaychuk 4d32762899 Updated docs 2010-07-22 08:17:00 -07:00
Tj Holowaychuk 2cb4b6d16d Added test for "env" setting 2010-07-22 08:14:48 -07:00
Tj Holowaychuk b770e566dd "home" setting defaults to Server#route. Closes #363 2010-07-22 08:13:42 -07:00
Tj Holowaychuk 51ebc88f0c Assert blog.route 2010-07-22 08:07:05 -07:00
Tj Holowaychuk a04a75724d Added app mounting test 2010-07-22 08:06:06 -07:00
Tj Holowaychuk 6e5af3d799 Added mkdir to install.sh Closes #362 2010-07-22 06:21:30 -07:00
Tj Holowaychuk 0283a73a32 Removed instanceof Array check 2010-07-21 14:49:15 -07:00
Tj Holowaychuk 5f593031f0 Added --growl flag to make test 2010-07-21 13:05:48 -07:00
Tj Holowaychuk 0eeef2d4bd Style fixes 2010-07-21 13:04:04 -07:00
Guillermo Rauch bb6164e30b Added helper method create() to view tests to get a server with the correct views directory Make the default scope for rendering the response Added tests for default scope and custom scope 2010-07-21 13:02:11 -07:00
Tj Holowaychuk d3beae4871 Updated connect 2010-07-21 12:57:16 -07:00
Tj Holowaychuk 8df0df32f8 Blog example using the newly exposed app.route when mounted 2010-07-21 12:32:17 -07:00
Tj Holowaychuk b0228dd0fd Refactored blog example 2010-07-21 12:16:58 -07:00
Tj Holowaychuk ffca2dee1d Updated submodules 2010-07-21 12:14:00 -07:00
Tj Holowaychuk cba985bfea res.render() using res.send() 2010-07-21 09:41:51 -07:00
Tj Holowaychuk 6a10a67205 Added resource example 2010-07-21 09:33:18 -07:00
Tj Holowaychuk 880fb5bd89 Revert "Removed make install-support"
This reverts commit bdfd81322b.
2010-07-20 22:11:00 -07:00
Tj Holowaychuk 6a0ade074d Updated docs 2010-07-20 16:34:47 -07:00
Tj Holowaychuk 6cf4629d0f Added Guillermo Rauch to the contributor list 2010-07-20 15:11:05 -07:00
Tj Holowaychuk ce23e5fa9e Move menu up after scrolling. Closes #352 2010-07-20 15:04:27 -07:00
Tj Holowaychuk d16fb838ca Updated connect submodule 2010-07-20 14:40:04 -07:00
Tj Holowaychuk 6b9eb8aae3 View helpers are now app specific. Closes #351 2010-07-20 14:22:54 -07:00
Tj Holowaychuk 78008d1fea Docs for Server#{helpers,dynamicHelpers}() 2010-07-20 14:02:38 -07:00
Tj Holowaychuk 69fb9bb39b Removed old view helpers test 2010-07-20 13:58:17 -07:00
Tj Holowaychuk 92f1557235 Renamed Server#helpers() to Server#dynamicHelpers() 2010-07-20 13:55:21 -07:00
Tj Holowaychuk 8e487ba36d Added assertions for dynamic helper params and scope 2010-07-20 13:48:30 -07:00
Tj Holowaychuk 7eb088b5ed Added app.helpers() docs 2010-07-20 13:45:57 -07:00
Tj Holowaychuk 9ef8ea95b0 Added dynamic view helper support. Closes #349
via app.helpers()
2010-07-20 13:40:29 -07:00
Tj Holowaychuk eedf54b485 Added test for specific layouts with "view engine" set 2010-07-20 13:06:50 -07:00
Tj Holowaychuk a461815957 Added support for passing of layout name without extension
Utilizes the child view ext
2010-07-20 12:56:08 -07:00
Tj Holowaychuk 687c2f08f6 Fixed express(1) expansion of public dirs. Closes #348
Should fix your issue, thanks!
2010-07-20 12:50:06 -07:00
Tj Holowaychuk 2294f23e5f Fixed connect links 2010-07-20 09:29:16 -07:00
Tj Holowaychuk bdfd81322b Removed make install-support 2010-07-20 08:56:23 -07:00
Tj Holowaychuk 3ceb0de8d8 Updated curl install docs 2010-07-19 15:27:53 -07:00
Tj Holowaychuk c4b5208867 Added view helper docs. Closes #344 2010-07-19 09:37:19 -07:00
Tj Holowaychuk 9c3f6b0c10 Merge branch 'fix-middleware' 2010-07-19 09:07:40 -07:00
Tj Holowaychuk 0550755c7d Fixed middleware precedence. Closes #345
The first call to app.{get,del,put,post}() will
stack the router middleware. This means config
can flow naturally BEFORE any routes
have been created, preventing breakage of
bodyDecoder etc
2010-07-19 09:07:35 -07:00
Tj Holowaychuk 47602f267a Added failing test 2010-07-19 08:40:42 -07:00
Tj Holowaychuk 656e67ef90 Cleaning up form example 2010-07-19 08:18:44 -07:00
Tj Holowaychuk c53883b635 Docs for session example 2010-07-19 08:15:15 -07:00
Tj Holowaychuk c4278c81f1 Added req.flash() to form example. Closes #338 2010-07-16 15:59:06 -07:00
Tj Holowaychuk c94dcf5940 Merge branch 'sess' 2010-07-16 15:41:35 -07:00
Tj Holowaychuk 08ca3eff12 Added session example 2010-07-16 15:41:32 -07:00
Tj Holowaychuk b40a241b2e Better blog partials 2010-07-16 13:34:35 -07:00
Tj Holowaychuk f86f1e83ad Added partial tests for collection locals + passed locals 2010-07-16 12:55:05 -07:00
Tj Holowaychuk be85701abe Added partial magic var docs. Closes #342 2010-07-16 12:51:56 -07:00
Tj Holowaychuk 190eb474a6 Refactored res.partial() 2010-07-16 12:48:34 -07:00
Tj Holowaychuk 8db1138081 Added support for "as" for non-collection partials. Closes #341 2010-07-16 12:42:05 -07:00
Tj Holowaychuk afbfd4d3fa Merge branch 'blog' 2010-07-16 11:25:35 -07:00
Tj Holowaychuk 9b8efbfdd5 Added blog mounting example 2010-07-16 11:25:30 -07:00
Tj Holowaychuk cacada87f3 Updated docs 2010-07-16 11:04:34 -07:00
Tj Holowaychuk 8a36c54318 Removed more use("/", ...)s 2010-07-16 11:03:45 -07:00
Tj Holowaychuk 879d411669 Removed app.use("/",...) from bin/express 2010-07-16 11:01:03 -07:00
Tj Holowaychuk b38be2ce7b Updated connect submodule 2010-07-16 10:59:24 -07:00
Tj Holowaychuk 1810c9b61c Docs for "view engine" setting 2010-07-16 08:31:23 -07:00
Tj Holowaychuk 98737f14f1 Added "view engine" setting to jade example 2010-07-16 08:21:26 -07:00
Tj Holowaychuk b311118a04 Removed testing docs from readme
View contrib guide on expressjs.com
2010-07-16 08:13:43 -07:00
Tj Holowaychuk 8a337f1faf Better docs for res.sendfile() 2010-07-16 08:03:20 -07:00
Tj Holowaychuk dbc5bd4104 Added link to examples 2010-07-16 07:51:23 -07:00
Tj Holowaychuk a9c3f566da Fixed migration typo 2010-07-16 07:45:22 -07:00
Tj Holowaychuk 6d9c9cd964 Removed pomo tasks 2010-07-16 07:44:42 -07:00
Tj Holowaychuk 25c8883e49 Cleaning up view docs 2010-07-16 07:44:05 -07:00
Tj Holowaychuk 793943fc2f In depth partial docs 2010-07-16 07:43:31 -07:00
Tj Holowaychuk e98f86c540 Normalizing view context option to scope 2010-07-16 07:34:30 -07:00
Tj Holowaychuk 1c8ff48f92 More view docs 2010-07-16 07:33:33 -07:00
Tj Holowaychuk 1fb73e2211 Added test-cov docs to contrib guide 2010-07-16 07:23:56 -07:00
Tj Holowaychuk 5279ade0e7 Added more req.flash() tests 2010-07-16 07:21:10 -07:00
Tj Holowaychuk 984134fb9d Missing semicolon
OMggGG :)
2010-07-16 07:17:43 -07:00
Tj Holowaychuk eb8f1f24b7 Merge remote branch 'aheckmann/beta-cacheView' into integration 2010-07-16 07:16:41 -07:00
Tj Holowaychuk e49dc8bcfa Merge remote branch 'aheckmann/beta-exposeServer' into integration 2010-07-16 07:15:42 -07:00
Tj Holowaychuk e742da24a7 Fixed doc typo 2010-07-16 07:11:08 -07:00
Aaron Heckmann 203b65475c watcher should read files async 2010-07-15 23:45:27 -04:00
Aaron Heckmann 576c5f4c9e expose Server 2010-07-15 23:17:48 -04:00
Tj Holowaychuk d2434b5591 CNAME in wrong branch :) 2010-07-15 16:57:11 -07:00
Tj Holowaychuk 634c008fcd Added CNAME 2010-07-15 16:53:50 -07:00
Tj Holowaychuk 83f1ccb8ad Updated history some more 2010-07-15 16:45:11 -07:00
Tj Holowaychuk cea401c513 More error handling docs 2010-07-15 16:41:37 -07:00
Tj Holowaychuk 6b54c1b6d4 listen in generated app 2010-07-15 16:25:25 -07:00
Tj Holowaychuk 193c4a953e Updated install docs 2010-07-15 16:20:32 -07:00
Tj Holowaychuk d389134036 install.sh now installs connect as well 2010-07-15 16:19:31 -07:00
Tj Holowaychuk d8b140e341 More install docs 2010-07-15 16:04:25 -07:00
Tj Holowaychuk 5931e1143b Updating install docs 2010-07-15 16:01:49 -07:00
Tj Holowaychuk e6d0c4b79f Updated connect submodule 2010-07-15 15:56:22 -07:00
Tj Holowaychuk 44a4a18320 Removed version format test 2010-07-15 15:52:47 -07:00
Tj Holowaychuk 2f96506a6e Added more view docs 2010-07-15 15:49:25 -07:00
Tj Holowaychuk f904606b32 Merge branch 'ejs' into connect 2010-07-15 15:38:12 -07:00
Tj Holowaychuk 99bb14680a Added ejs example 2010-07-15 15:38:08 -07:00
Tj Holowaychuk 83df3dda95 Started ejs example 2010-07-15 14:59:02 -07:00
Tj Holowaychuk 5e4d67209c Executable docs 2010-07-15 14:50:26 -07:00
Tj Holowaychuk 2798af1668 Updated history 2010-07-15 14:48:55 -07:00
Tj Holowaychuk f0e41ce4c7 Bump to 1.0.0beta 2010-07-15 14:44:37 -07:00
Tj Holowaychuk 300602dd32 Contrib middleware link 2010-07-15 14:38:44 -07:00
Tj Holowaychuk 136f6778e2 Tasks 2010-07-15 14:36:24 -07:00
Tj Holowaychuk 2fa7907054 Unix domain socket docs 2010-07-15 13:49:11 -07:00
Tj Holowaychuk f3803c4c22 Server#listen() docs 2010-07-15 13:46:42 -07:00
Tj Holowaychuk 5d37927b0a More docs 2010-07-15 13:39:57 -07:00
Tj Holowaychuk 6227f5cfa2 More error docs 2010-07-15 13:30:43 -07:00
Tj Holowaychuk 9fbb9fa5e1 Error handling docs 2010-07-15 13:29:50 -07:00
Tj Holowaychuk de81ee7ee6 More docs 2010-07-15 13:24:43 -07:00
Tj Holowaychuk 5fcf971e28 Fixed reload views example 2010-07-15 13:10:00 -07:00
Tj Holowaychuk 492f70fc4b Merge branch 'docs' into connect 2010-07-15 13:09:00 -07:00
Tj Holowaychuk 3ced7b7212 No underlines for FF 2010-07-15 13:08:34 -07:00
Tj Holowaychuk 7b55867ea7 Misc styling 2010-07-15 13:06:56 -07:00
Tj Holowaychuk 3e15ef1c86 Setting up TOC 2010-07-15 12:49:57 -07:00
Tj Holowaychuk 0cdc836054 Generating TOC 2010-07-15 12:06:54 -07:00
Tj Holowaychuk 1aad62b95d Docs 2010-07-15 11:11:05 -07:00
Tj Holowaychuk ed1c88920e Tasks 2010-07-15 11:08:17 -07:00
Tj Holowaychuk e6ca20c4a2 Added views / reload views settings to bin/express app 2010-07-15 11:07:56 -07:00
Tj Holowaychuk cfa3470df6 Tasks 2010-07-15 11:02:03 -07:00
Tj Holowaychuk 479f297cf6 Improved pages demo 2010-07-15 10:55:45 -07:00
Tj Holowaychuk 7e1b222f90 Fixed pages app example 2010-07-15 10:52:38 -07:00
Tj Holowaychuk 69baa6ea1a Regenerated api docs 2010-07-15 10:44:47 -07:00
Tj Holowaychuk 0fce93be37 Removed connect.redirect() 2010-07-15 08:56:51 -07:00
Tj Holowaychuk 51611ec2bb Added test for multiple app.error() calls 2010-07-14 17:36:16 -07:00
Tj Holowaychuk 228a78136d Server#error() no longer requires arity of 4 2010-07-14 17:25:25 -07:00
Tj Holowaychuk 34d10ace7a Added test to confirm app.error() works with thrown exceptions 2010-07-14 17:19:40 -07:00
Tj Holowaychuk 57bd0a5628 Tasks 2010-07-14 17:16:18 -07:00
Tj Holowaychuk 42e4860855 Tasks 2010-07-14 17:12:14 -07:00
Tj Holowaychuk ea1c9f70d7 Merge branch 'pages' into connect 2010-07-14 17:09:21 -07:00
Tj Holowaychuk d3085b0450 Added custom pages example 2010-07-14 17:09:17 -07:00
Tj Holowaychuk 63d02f1d5f Install docs 2010-07-14 16:27:50 -07:00
Tj Holowaychuk dfecbe5bfa More docs 2010-07-14 16:15:00 -07:00
Tj Holowaychuk bcf9f00de5 Added install.sh 2010-07-14 16:06:07 -07:00
Tj Holowaychuk a8e8e35678 Removed seed.yml 2010-07-14 15:59:26 -07:00
Tj Holowaychuk 2ec4a8b4ce Test prefixes 2010-07-14 15:50:40 -07:00
Tj Holowaychuk 6c3d3dee81 Tasks 2010-07-14 15:49:36 -07:00
Tj Holowaychuk 40b3116ed7 Tasks 2010-07-14 15:44:13 -07:00
Tj Holowaychuk df7582b138 Tasks 2010-07-14 15:30:46 -07:00
Tj Holowaychuk b08dab9aa1 Docs for new res methods 2010-07-14 15:29:18 -07:00
Tj Holowaychuk da5a4804df Added res.download() 2010-07-14 15:15:25 -07:00
Tj Holowaychuk d12f43498e Merge branch 'sendfile' into connect 2010-07-14 15:06:45 -07:00
Tj Holowaychuk f9f2facd76 Added res.sendfile() 2010-07-14 15:06:41 -07:00
Tj Holowaychuk eaee3954c1 Tasks 2010-07-14 14:48:43 -07:00
Tj Holowaychuk eb235e11b6 Docs for res.attachment() 2010-07-14 14:45:30 -07:00
Tj Holowaychuk 0c5fe61ed3 More docs :) 2010-07-14 14:42:44 -07:00
Tj Holowaychuk 76052b443a By default a Buffer passed through res.send() is application/octet-stream 2010-07-14 14:38:29 -07:00
Tj Holowaychuk 5a48248e1e Docs for res.send() 2010-07-14 14:36:29 -07:00
Tj Holowaychuk bedff3278f More docs 2010-07-14 14:30:51 -07:00
Tj Holowaychuk 0bb48153a5 Added dynamic redirect mapping 2010-07-14 14:17:48 -07:00
Tj Holowaychuk b75246e3ca Added app.redirect(key, url) 2010-07-14 14:03:30 -07:00
Tj Holowaychuk 2d31f0d7fe res.redirect() docs 2010-07-14 13:59:26 -07:00
Tj Holowaychuk 87cfca721e Merge branch 'redirect' into connect 2010-07-14 13:49:59 -07:00
Tj Holowaychuk 54d36f3337 Removed traces of connect.redirect() 2010-07-14 13:49:51 -07:00
Tj Holowaychuk a4a17d171a Added custom redirect map support 2010-07-14 13:37:30 -07:00
Tj Holowaychuk 7c2673fc66 Added tests for res.redirect() 2010-07-14 13:29:39 -07:00
Tj Holowaychuk c77ecbb10f Started ServerResponse#redirect() 2010-07-14 13:17:39 -07:00
Tj Holowaychuk f0ba57ba23 Added contrib docs 2010-07-14 12:06:56 -07:00
Tj Holowaychuk 893aa80361 Added link to user account for github example 2010-07-14 11:40:58 -07:00
Tj Holowaychuk 59ac3d1d45 Merge branch 'github' into connect 2010-07-14 11:36:38 -07:00
Tj Holowaychuk 247a9478c8 Finished github example 2010-07-14 11:36:32 -07:00
Tj Holowaychuk 1c64d858c2 Added total watchers 2010-07-14 11:23:39 -07:00
Tj Holowaychuk 91a1d7faaf Sorting github repos 2010-07-14 11:19:57 -07:00
Tj Holowaychuk 214bbfa7b6 Simplified github example 2010-07-14 11:15:18 -07:00
Tj Holowaychuk 3ee4492b3c Started github example 2010-07-14 11:11:14 -07:00
Tj Holowaychuk 38c453b3c6 More migration docs 2010-07-14 10:49:23 -07:00
Tj Holowaychuk 3d41c61991 Updated docs 2010-07-14 10:23:43 -07:00
Tj Holowaychuk 1f9f47f97e Readme 2010-07-14 10:18:12 -07:00
Tj Holowaychuk 41cc2923b1 Updated multipart example 2010-07-14 09:34:38 -07:00
Tj Holowaychuk 4c180f3eed Added connect-form submodule 2010-07-14 08:59:34 -07:00
Tj Holowaychuk 5f9a64dbea Redirecting in multipart example 2010-07-14 08:49:20 -07:00
Tj Holowaychuk 9d37bfdcf1 listen() in examples 2010-07-14 08:43:23 -07:00
Tj Holowaychuk d738c3aca6 Added methodOverride to generated app 2010-07-13 11:32:37 -07:00
Tj Holowaychuk 836c4313ab Tasks 2010-07-13 11:31:21 -07:00
Tj Holowaychuk 91c6478add Updated submodules 2010-07-13 11:29:19 -07:00
Tj Holowaychuk fce527a55b Added progress to multipart example 2010-07-13 10:07:41 -07:00
Tj Holowaychuk 9a1f62fc1f Added multipart example 2010-07-13 09:48:33 -07:00
Tj Holowaychuk 018d8656d3 Added form example 2010-07-13 09:37:39 -07:00
Tj Holowaychuk 2636e1ba45 Added app.error() support 2010-07-13 09:09:10 -07:00
Tj Holowaychuk caed07dfc1 Added exception example 2010-07-13 08:48:44 -07:00
Tj Holowaychuk 373cf3328d Added test to confirm set() is chainable 2010-07-13 08:36:56 -07:00
Tj Holowaychuk 0370c3fa01 configure() is chainable 2010-07-13 08:36:22 -07:00
Tj Holowaychuk f5143a7d63 Added test to confirm that configure() callbacks execute in context to the server 2010-07-13 08:35:22 -07:00
Tj Holowaychuk 346b2a27cb Removed annoying padding transition 2010-07-12 17:46:26 -07:00
Tj Holowaychuk 38281e6361 Added more setting docs 2010-07-12 17:43:01 -07:00
Tj Holowaychuk 6e8413f568 Moved config docs up 2010-07-12 17:39:14 -07:00
Tj Holowaychuk cb04364381 Configuration docs 2010-07-12 17:37:26 -07:00
Tj Holowaychuk 83d2555123 Added configuration section 2010-07-12 17:32:07 -07:00
Tj Holowaychuk 0ace97c8d4 Route passing docs 2010-07-12 17:09:52 -07:00
Tj Holowaychuk 9e3a0c61b8 Started guide 2010-07-12 17:06:35 -07:00
Tj Holowaychuk 2fda5c7873 Fixed banner 2010-07-12 16:47:30 -07:00
Tj Holowaychuk e29868c8ce Added some links 2010-07-12 16:44:53 -07:00
Tj Holowaychuk ac560be870 Added menu to docs 2010-07-12 16:42:11 -07:00
Tj Holowaychuk 5a29cbf4a7 Better hello world example 2010-07-12 16:36:01 -07:00
Tj Holowaychuk dc77894f68 Migration docs for req.param() 2010-07-12 16:32:43 -07:00
Tj Holowaychuk 74432a6b9d Added redirect migration docs 2010-07-12 16:29:53 -07:00
Tj Holowaychuk 2b2fa7e77c Absolute labs banner 2010-07-12 16:23:16 -07:00
Tj Holowaychuk c3f71b33aa Removed backticks from docs 2010-07-12 16:17:40 -07:00
Tj Holowaychuk 927aae72d1 Docs for plugins vs middleware 2010-07-12 16:15:53 -07:00
Tj Holowaychuk 2a674f4e8d Added partial migration docs 2010-07-12 16:07:03 -07:00
Tj Holowaychuk 0b86ce2bda Added view rendering migration section 2010-07-12 15:58:54 -07:00
Tj Holowaychuk 548a0709f4 Control passing docs 2010-07-12 15:47:09 -07:00
Tj Holowaychuk da84c0bb4d Migration docs for params 2010-07-12 15:42:38 -07:00
Tj Holowaychuk 9e68a5b9ab Started migration docs 2010-07-12 15:28:46 -07:00
Tj Holowaychuk 6982bdaa28 Updated expresso submodule 2010-07-12 14:55:32 -07:00
Tj Holowaychuk c1809232fe Merge branch 'flash' into connect 2010-07-12 14:55:19 -07:00
Tj Holowaychuk 3c06c82eb7 Added tests for req.flash() 2010-07-12 14:55:14 -07:00
Tj Holowaychuk 1bcccb3134 Added req.flash() 2010-07-12 14:14:50 -07:00
Tj Holowaychuk cdf49dc87e Removed a utils.merge() call 2010-07-12 11:35:07 -07:00
Tj Holowaychuk 0a0fb8f803 Updated expresso submodule 2010-07-09 16:41:38 -07:00
Tj Holowaychuk 60cfd56369 Regenerated docs 2010-07-09 15:32:13 -07:00
Tj Holowaychuk 73050d38c5 Added make install-docs 2010-07-09 15:31:05 -07:00
Tj Holowaychuk c50e941972 Tasks 2010-07-09 15:28:51 -07:00
Tj Holowaychuk 7c59fd21e2 Fixed package.json 2010-07-09 13:56:07 -07:00
Tj Holowaychuk b095a4221c Added ejs submodule 2010-07-09 13:19:37 -07:00
Tj Holowaychuk 1ef39fa3b8 Updated Connect submodule 2010-07-09 10:53:57 -07:00
Tj Holowaychuk fcf4530d83 Tasks 2010-07-08 14:59:57 -07:00
Tj Holowaychuk 0515e14d27 Added make test-cov 2010-07-08 14:49:13 -07:00
Tj Holowaychuk ddbef0bd79 Merge branch 'view-helpers' into connect 2010-07-08 14:47:21 -07:00
Tj Holowaychuk bc5d31f86a Added view helper support 2010-07-08 14:47:13 -07:00
Tj Holowaychuk 09147a2aab Regenerated docs 2010-07-08 14:33:54 -07:00
Tj Holowaychuk a75a119e2f Added default view engine support
Now app.set("view engine", "jade") allows you to
res.render("jade")
2010-07-08 14:31:27 -07:00
Tj Holowaychuk c1b3546161 More example docs 2010-07-08 14:07:05 -07:00
Tj Holowaychuk 8338432c7b Added app generation to bin/express 2010-07-08 14:01:56 -07:00
Tj Holowaychuk 8beae065cf Added view callback error test 2010-07-08 13:17:30 -07:00
Tj Holowaychuk 0e7d39aa13 Added invalid view test 2010-07-08 13:16:36 -07:00
Tj Holowaychuk 74063ad735 Tasks 2010-07-08 13:10:53 -07:00
Tj Holowaychuk 55a29808c9 Added view callback test 2010-07-08 13:09:15 -07:00
Tj Holowaychuk 40f3de3939 Merge branch 'view-reloading' into connect 2010-07-08 13:04:50 -07:00
Tj Holowaychuk 5d94ab09e3 Updated jade submodule 2010-07-08 13:04:21 -07:00
Tj Holowaychuk b34ff6853d Renamed setting to "reload views" 2010-07-08 12:45:03 -07:00
Tj Holowaychuk e2570be957 Added view reloading 2010-07-08 12:38:16 -07:00
Tj Holowaychuk 95e6fff3da Added another example 2010-07-08 11:49:12 -07:00
Tj Holowaychuk 9de12b7385 Tasks 2010-07-08 11:33:39 -07:00
Tj Holowaychuk beffe906e4 ws 2010-07-08 11:12:42 -07:00
Tj Holowaychuk e850d1073d Partials without extensions use the same extension as the parent view 2010-07-08 11:01:20 -07:00
Tj Holowaychuk c02a2ba5ba Exposing __filename as a local for views 2010-07-08 10:49:46 -07:00
Tj Holowaychuk f92bb6690b Todo 2010-07-08 10:40:46 -07:00
Tj Holowaychuk 5842a3bba6 Added test for non-collection partial support 2010-07-08 10:38:30 -07:00
Tj Holowaychuk fcf691d97c Added view test for magic locals 2010-07-08 10:27:23 -07:00
Tj Holowaychuk a32c7d5f07 Added as: global support 2010-07-08 10:24:12 -07:00
Tj Holowaychuk edfb18b75a Added as: this support 2010-07-08 10:17:11 -07:00
Tj Holowaychuk 5544c5d5d4 Added collection "as" option test 2010-07-08 10:13:24 -07:00
Tj Holowaychuk 22100f7c3a Added support for partial(view, array) as collection 2010-07-08 10:09:03 -07:00
Tj Holowaychuk 8ece01ccda Fixed partial support 2010-07-08 09:56:03 -07:00
Tj Holowaychuk 9b68039a62 Caching view contents 2010-07-08 09:53:34 -07:00
Tj Holowaychuk a914326e75 todo 2010-07-08 09:49:13 -07:00
Tj Holowaychuk 2b7dd35e05 Todo 2010-07-08 09:36:59 -07:00
Tj Holowaychuk 15e41169ad Added bin/express to package.json 2010-07-08 09:25:43 -07:00
Tj Holowaychuk f8c5219c12 Updated jade submodule 2010-07-08 09:23:37 -07:00
Tj Holowaychuk c570b67dda Updated jade submodule 2010-07-08 09:16:57 -07:00
Tj Holowaychuk 456fac1700 Tasks 2010-07-08 07:43:17 -07:00
Tj Holowaychuk 41e58c394b Updated tasks 2010-07-07 17:16:18 -07:00
Tj Holowaychuk 5aeda5f67b Added .pomo
Used with my ruby "pomo" executable, for managing tasks
2010-07-07 17:15:36 -07:00
Tj Holowaychuk c96adf168c Added ./index.js
For super easy git installs
2010-07-07 17:13:49 -07:00
Tj Holowaychuk 40c5bc01ff Docs 2010-07-07 17:08:07 -07:00
Tj Holowaychuk 09dabef70c Updated docs 2010-07-07 17:03:23 -07:00
Tj Holowaychuk 96edee806e req.param() docs 2010-07-07 17:03:13 -07:00
Tj Holowaychuk e58f4683d1 Finished req.accepts() 2010-07-07 17:00:23 -07:00
Tj Holowaychuk 9750817bf0 Added more tests for req.accepts() 2010-07-07 16:44:42 -07:00
Tj Holowaychuk 7099d730e6 Docs for req.accepts() 2010-07-07 16:41:07 -07:00
Tj Holowaychuk 13c290e99f Docs for req.accepts() 2010-07-07 16:40:29 -07:00
Tj Holowaychuk cf37966e39 Added req.accepts() 2010-07-07 16:38:23 -07:00
Tj Holowaychuk 9449c4b9b5 Merge branch 'params' into connect 2010-07-07 16:05:43 -07:00
Tj Holowaychuk 046172e5d9 Added req.param() POST support via connect.bodyDecoder() 2010-07-07 16:05:32 -07:00
Tj Holowaychuk c74446e38c Added req.param() 2010-07-07 15:54:25 -07:00
Tj Holowaychuk 7897460993 Added req.header() tests 2010-07-07 15:38:06 -07:00
Tj Holowaychuk 4b59583bca Docs 2010-07-07 15:34:46 -07:00
Tj Holowaychuk 41f73559f2 Setting res.render() cache to true in production 2010-07-07 15:21:21 -07:00
Tj Holowaychuk d3090c0965 Added option docs to res.render() 2010-07-07 15:17:48 -07:00
Tj Holowaychuk dc5caebbf8 Added haml test 2010-07-07 15:10:16 -07:00
Tj Holowaychuk 14280dfedb Added buffer support to res.send() 2010-07-07 14:54:23 -07:00
Tj Holowaychuk 8fdf11135a Added res.attachment() 2010-07-07 14:45:45 -07:00
Tj Holowaychuk c8baa8f349 Added res.send() Content-Type precedence test 2010-07-07 14:38:41 -07:00
Tj Holowaychuk a6e25b46af Added res.send() examples 2010-07-07 14:29:18 -07:00
Tj Holowaychuk 395d14ab58 Allowing status as first or second arg to res.send() 2010-07-07 14:25:06 -07:00
Tj Holowaychuk 0d4b57df7a req.send() headers take precedence 2010-07-07 14:11:00 -07:00
Tj Holowaychuk 416e7617b3 res.contentType() using res.header() 2010-07-07 14:02:55 -07:00
Tj Holowaychuk 838c470017 Added res.header() 2010-07-07 14:02:16 -07:00
Tj Holowaychuk f0a09665db res.send() only setting Content-Type when not already present 2010-07-07 13:57:56 -07:00
Tj Holowaychuk 1397fa64d5 Added req.header(name, defaultValue) 2010-07-07 13:33:21 -07:00
Tj Holowaychuk ac17a6afcf Added res.contentType() tests 2010-07-07 13:32:16 -07:00
Tj Holowaychuk 35af1bab30 Added req.xhr as alias of req.isXMLHttpRequest 2010-07-07 13:22:59 -07:00
Tj Holowaychuk 1fe7bb271a Added req.isXMLHttpRequest 2010-07-07 13:21:07 -07:00
Tj Holowaychuk 774e25d944 Added make install-support and make uninstall-support 2010-07-07 13:06:41 -07:00
Tj Holowaychuk 6770e8541d Added `make install 2010-07-07 13:05:21 -07:00
Tj Holowaychuk 70e94e4dde Updated connect submodule 2010-07-07 12:54:28 -07:00
Tj Holowaychuk 0ffbc6e345 Added jade submodule 2010-07-07 12:43:48 -07:00
Tj Holowaychuk 25e796753f Added Connect submodule 2010-07-07 12:43:01 -07:00
Tj Holowaychuk 70d9ef4f77 Added test for next()ing 2010-07-07 11:56:37 -07:00
Tj Holowaychuk fd67c9a589 Exposing req / res to each other 2010-07-07 11:52:18 -07:00
Tj Holowaychuk f0917ff774 Ignore pids 2010-07-07 07:49:40 -07:00
Tj Holowaychuk 843281dec0 Added hello-world example
run with:
    connect -C examples/helloworld
2010-07-07 07:49:01 -07:00
Tj Holowaychuk 3a21588429 Docs :) 2010-07-07 07:35:57 -07:00
Tj Holowaychuk 21eeb09a3c Executable docs 2010-07-06 20:31:52 -07:00
Tj Holowaychuk 900c5ed358 More docs 2010-07-06 19:46:48 -07:00
Tj Holowaychuk 195c8a92d1 Added contributors back to docs 2010-07-06 19:42:06 -07:00
Tj Holowaychuk 7c651e6093 More styling
gahh!!
2010-07-06 17:10:59 -07:00
Tj Holowaychuk 860b899f0c Added images back to docs 2010-07-06 17:06:39 -07:00
Tj Holowaychuk 87b7524de9 More doc styling 2010-07-06 17:01:04 -07:00
Tj Holowaychuk 29641ae16a Started new docs 2010-07-06 16:56:42 -07:00
Tj Holowaychuk 02e32a7a9d App generation in bin/express 2010-07-06 08:17:35 -07:00
Tj Holowaychuk 3056369c6e Started bin/express 2010-07-06 08:06:39 -07:00
Tj Holowaychuk 3da75726d3 Error handling for views 2010-07-06 07:53:18 -07:00
Tj Holowaychuk b7346de47d Fixed partials 2010-07-06 07:07:56 -07:00
Tj Holowaychuk 7a69100b2f Updated copyright 2010-07-06 06:53:13 -07:00
Tj Holowaychuk 2732d2b9d3 Updated docs 2010-07-06 06:52:48 -07:00
Tj Holowaychuk 87bb27cc4f Added migrate doc files
yet to be filled with copy :)
2010-07-05 21:56:58 -07:00
Tj Holowaychuk bafa300b0f Generated docs 2010-07-05 21:52:49 -07:00
Tj Holowaychuk 939cf4542f Added make docs 2010-07-05 21:47:37 -07:00
Tj Holowaychuk 874975da54 Added response helpers 2010-07-05 21:37:56 -07:00
Tj Holowaychuk f0bebd4c33 Docs 2010-07-05 16:58:07 -07:00
Tj Holowaychuk c444a11862 Todo 2010-07-05 16:55:16 -07:00
Tj Holowaychuk 4c0704e338 Started implementing partials again 2010-07-05 16:50:37 -07:00
Tj Holowaychuk 77f4cd5d58 Refactord ServerResponse#render() 2010-07-05 16:30:55 -07:00
Tj Holowaychuk 9858d3c5a8 Refactord ServerResponse#render() 2010-07-05 16:30:21 -07:00
Tj Holowaychuk 414acbc9ec Added layout support 2010-07-05 16:29:39 -07:00
Tj Holowaychuk 21f904db42 Started ServerResponse#render() 2010-07-05 16:14:34 -07:00
Tj Holowaychuk f6ca253849 Applying arguments from createServer() 2010-07-05 15:54:35 -07:00
Tj Holowaychuk 3f989191e3 Added failing constructor middleware test 2010-07-05 15:49:38 -07:00
Tj Holowaychuk 2bea014e89 Added middleware usage test 2010-07-05 15:43:10 -07:00
Tj Holowaychuk 84fc19a75f Docs 2010-07-05 15:33:56 -07:00
Tj Holowaychuk d803924ef0 Added Server#{set,enable,disable}() and friends 2010-07-05 15:32:54 -07:00
Tj Holowaychuk 889f8d9d30 Added server.js 2010-07-05 15:13:32 -07:00
Tj Holowaychuk 1dcb7eaf1f . 2010-07-05 15:13:19 -07:00
Tj Holowaychuk 5f9e4ace2f Added basic app test 2010-07-05 15:02:25 -07:00
Tj Holowaychuk 6386330973 Started tests 2010-07-05 14:58:38 -07:00
Tj Holowaychuk fd89b9755e Removed benchmarks 2010-07-05 14:52:19 -07:00
Tj Holowaychuk 730f454278 Removed examples 2010-07-05 14:51:53 -07:00
Tj Holowaychuk e2fca29c91 Cleared out makefile 2010-07-05 14:51:45 -07:00
Tj Holowaychuk f97a222cf5 Removed specs 2010-07-05 14:50:39 -07:00
Tj Holowaychuk c75105e977 Added expresso submodule 2010-07-05 14:50:21 -07:00
Tj Holowaychuk 7096471d65 Removed submodules 2010-07-05 14:49:57 -07:00
Tj Holowaychuk cc1cee8a38 Auto-requiring ./view.js 2010-06-19 22:25:10 -07:00
Tj Holowaychuk 5f2680889f Added application.js 2010-06-19 22:18:35 -07:00
Tj Holowaychuk b3ae8bb606 Added Application#runConfig() 2010-06-19 22:07:18 -07:00
Tj Holowaychuk 72d9f37845 Added Application#{set,enable,disable}() 2010-06-19 21:39:36 -07:00
Tj Holowaychuk fdfccafd84 Fixed another typo 2010-06-19 21:35:16 -07:00
Tj Holowaychuk a784f946ba Fixed ternary typo 2010-06-19 21:34:12 -07:00
Tj Holowaychuk a04af6c4bd Started re-write of views 2010-06-19 21:33:29 -07:00
Tj Holowaychuk 64b24a96c8 Fixing chat example 2010-06-18 17:30:20 -07:00
Tj Holowaychuk a62a5d0d7b Removed old cruft
wow express is light now! haha.. go connect go
2010-06-18 17:16:17 -07:00
Tj Holowaychuk 3043d1e839 Hello world working (somewhat) 2010-06-18 17:00:07 -07:00
Tj Holowaychuk a3aefb6902 Removed spec crap
not a good fit for async
2010-06-18 16:23:08 -07:00
Tj Holowaychuk a42aaa270c Removed lib/support
you will all have to install these via kiwi or npm etc,
bundling is no more! (at least for now)
2010-06-18 16:22:48 -07:00
Tj Holowaychuk f8b471c17b Started the destruction :) 2010-06-18 16:21:16 -07:00
Tj Holowaychuk 87adff44db Added connect submodule 2010-06-18 16:15:52 -07:00
isaacs 767bba9c04 s/parseQuery/parse/g (The node querystring module changed recently) 2010-06-16 00:54:19 -07:00
Tj Holowaychuk 0c827521d0 Added npm install docs 2010-06-15 14:25:20 -07:00
Tj Holowaychuk 80cec7d12f Release 0.14.0 2010-06-15 14:22:51 -07:00
Tj Holowaychuk 5f916357e9 Make Express npm friendly
Since wayyy back in the early days of node we did
not have relative require :)
2010-06-15 14:14:40 -07:00
Tj Holowaychuk ea82eea9bb Misc package.json updates 2010-06-15 13:50:17 -07:00
Aaron Heckmann 22222d7db4 update node version 2010-06-14 01:54:34 -04:00
Aaron Heckmann cebee369d1 add ciaran 2010-06-13 19:59:39 -04:00
Aaron Heckmann faf809851c add contributors 2010-06-10 21:21:32 -04:00
Aaron Heckmann d05aafd76b use plugin option instead of global set() 2010-06-10 20:21:52 -04:00
visionmedia 8d52721873 Removed bufferSize from static benchmarks 2010-06-10 11:09:26 -07:00
visionmedia 66c6152cd2 Merge remote branch 'aheckmann/staticbuffersize' 2010-06-10 11:08:40 -07:00
Aaron Heckmann 32cd51d3a5 add 'static buffer size' setting 2010-06-09 21:19:02 -04:00
Aaron Heckmann 497a28401e cache view and partial subdirectories 2010-06-09 08:04:45 -07:00
visionmedia e46912047c Updated haml submodule 2010-06-08 05:44:54 -07:00
visionmedia 56b573ede5 Updated class submodule 2010-06-04 11:07:38 -07:00
visionmedia 0276be1789 Updated haml submodule 2010-06-04 11:05:47 -07:00
visionmedia 7db4c60fc3 Removed old release details link
Not really relevant anymore. (but really im just testing
my new CI server haha :D )
2010-06-03 16:39:43 -07:00
visionmedia 95cc01dd91 Added missing file comment 2010-06-03 16:36:11 -07:00
visionmedia cce1dddf42 Added author to package.json
Guys feel free to add yourself as contributors in there :)
2010-06-03 16:31:08 -07:00
visionmedia 0938b57841 Removed bin/express
for now :) maybe it will come back some day when it is
more useful
2010-06-03 16:25:50 -07:00
visionmedia aef8550e2f Removed old todo comment 2010-06-03 16:22:45 -07:00
visionmedia 71bf0bde32 Readme typo 2010-06-03 16:18:59 -07:00
visionmedia 750623b9b1 Fixed mime.type() comments now that ".ext" is not supported 2010-06-03 16:15:32 -07:00
visionmedia 1f12c53b65 Added Connect port notice 2010-06-03 16:04:36 -07:00
visionmedia 8717ea1b95 Updated seed.yml 2010-06-01 08:49:21 -07:00
visionmedia db2eb658ca Release 0.13.0 2010-06-01 08:49:04 -07:00
visionmedia 70483484ce Fixed upload example 2010-06-01 08:44:26 -07:00
visionmedia d21afc43a1 Merge branch 'charset' of git://github.com/aheckmann/express 2010-05-31 14:06:29 -07:00
visionmedia 7ad0803f2e Updated package.json 2010-05-31 14:05:15 -07:00
Aaron Heckmann ec4bfd55f9 not-found exceptions using utf-8 2010-05-31 12:58:53 -04:00
Aaron Heckmann f65174a0db show-exceptions uses utf-8 2010-05-31 12:56:30 -04:00
visionmedia 8b1fcd4dd7 mime.type() no longer accepts ".type" 2010-05-30 13:14:08 -07:00
visionmedia 9509237958 Fixed mime.type() due to path.extname() changes 2010-05-30 13:04:35 -07:00
visionmedia f20fd20a06 Fixed view support due to fs.readFile Buffers 2010-05-30 12:46:15 -07:00
visionmedia 8e48120fb7 Updated JSpec 2010-05-30 12:42:31 -07:00
visionmedia 44cc5ac883 Updated haml submodule 2010-05-27 15:32:30 -07:00
visionmedia 9a43cc8c4b Updated haml submodule 2010-05-25 16:08:50 -07:00
visionmedia 8dfc0d54f4 Updated haml submodule 2010-05-25 13:49:30 -07:00
visionmedia 77febd21de Fixed code styling 2010-05-23 09:38:42 -07:00
Aaron Heckmann 84a997c66b Added support for deleting cookies via Request#cookie('key', null) 2010-05-23 09:37:53 -07:00
Aaron Heckmann b900a59fc2 respond(204) should not have a body 2010-05-22 12:13:15 -04:00
visionmedia ca782dbc58 Release 0.12.0 2010-05-22 08:24:22 -07:00
visionmedia 746cda27ec Fixed cookie spec urlencoding 2010-05-22 08:23:28 -07:00
visionmedia 16d1651656 Fixed a cookie spec 2010-05-22 08:22:01 -07:00
visionmedia 4735fb2377 Merge branch 'master' of git://github.com/tritonrc/express 2010-05-22 08:21:08 -07:00
Aaron Heckmann ec6b518fd2 compatible with node v0.1.96 2010-05-22 08:09:09 -07:00
Brian McKinney 580ad1b192 Make sure to URL encode cookie name and value on response if we are going to URL decode on request 2010-05-18 18:53:01 -06:00
visionmedia 23d8810486 Updated haml submodule 2010-05-17 15:43:38 -07:00
visionmedia d579d62eb6 Comment changed to match others 2010-05-14 07:30:14 -07:00
visionmedia 529f785e3c Merge branch 'master' of git://github.com/Guille/express 2010-05-14 07:28:53 -07:00
Guillermo Rauch 0581ae87b4 Renaming Globals to helpers (I'm sold) 2010-05-14 11:16:51 -03:00
visionmedia cda1059336 Updated readme, we are compatible with node --version v0.1.95 2010-05-14 06:51:59 -07:00
Aaron Heckmann 1aed6b5c30 Merge branch 'master' into encoding 2010-05-14 08:05:46 -04:00
Aaron Heckmann 4e68705b24 compatible with node v0.1.95 2010-05-14 08:01:05 -04:00
Guillermo Rauch 216cb1ea12 Added support for globals (eg: helpers) in views
- Added export.Globals in plugins/view.js
 - Added two specs (one for a simple template, one for a template with a layout) with a dummy i18n helper
 - Updated README features list
2010-05-13 20:35:25 -03:00
Guillermo Rauch 8ef6a0b432 Merge branch 'master' of http://github.com/visionmedia/express
* 'master' of http://github.com/visionmedia/express: (168 commits)
  Updated haml submodule
  s/==/===/
  Misc refactoring to make parseCookie() more readable / spec for overriding keys
  s/QueryString/queryString/
  Added spec for malformed cookies
  regexps have no "n" flag
  No need to quote key in spec
  Fixed LF -> CRLF for setting multiple cookies
  Redo cookies parsing to accept quoted values and url escaped cookies
  Remove inode from ETag, modified time only
  Release 0.11.0
  Works fine with node --version v0.1.94
  Refactoring some spec fixtures
  Fixing spec for EJS partial
  Updated ext
  Updated haml
  Added spec / refactored layout of different engine support
  Added spec for layouts with different engines
  Fixing EJS partial support by passing along the context. Issue #307
  Allow layouts to use different engines
  ...

Conflicts:
	lib/express/core.js
2010-05-13 18:53:11 -03:00
visionmedia 5dc152c46e Updated haml submodule 2010-05-11 13:22:32 -07:00
visionmedia c3a21437e4 Merge branch 'integration' 2010-05-11 07:57:50 -07:00
visionmedia 32bc8dcbf9 s/==/===/ 2010-05-11 07:57:24 -07:00
visionmedia 677ca7b4aa Misc refactoring to make parseCookie() more readable / spec for overriding keys 2010-05-11 07:55:15 -07:00
visionmedia dfc2331104 s/QueryString/queryString/ 2010-05-11 07:47:20 -07:00
visionmedia cd06bbfb8d Added spec for malformed cookies 2010-05-11 07:46:44 -07:00
visionmedia 1d596bcbac regexps have no "n" flag 2010-05-11 07:44:31 -07:00
visionmedia 0cb7b9c13d No need to quote key in spec 2010-05-11 07:42:23 -07:00
visionmedia a180efeca7 Merge branch 'master' of git://github.com/tritonrc/express into integration 2010-05-11 07:41:15 -07:00
visionmedia eef24ea29c Fixed LF -> CRLF for setting multiple cookies 2010-05-11 07:25:08 -07:00
Brian McKinney 458bb3d7f7 Redo cookies parsing to accept quoted values and url escaped cookies 2010-05-10 17:18:42 -06:00
visionmedia ffb23d92c0 Remove inode from ETag, modified time only 2010-05-07 13:52:13 -07:00
visionmedia 0ce39a4cf6 Release 0.11.0 2010-05-06 15:41:15 -07:00
visionmedia a24c70e490 Works fine with node --version v0.1.94 2010-05-06 15:36:06 -07:00
visionmedia 8d4ef6e883 Merge branch 'integration' 2010-05-06 15:35:39 -07:00
visionmedia 54865ebdee Refactoring some spec fixtures 2010-05-06 15:24:30 -07:00
visionmedia cb8e704d5c Merged bdotdub/master 2010-05-06 15:21:47 -07:00
Benny Wong 57f4978442 Fixing spec for EJS partial
* Had to use double quote and not single quote for the partial filename
* Couldn't get each to work. Using ugly `for` for now
2010-05-06 13:59:50 -04:00
visionmedia b8833f4c9e Updated ext 2010-05-06 10:29:15 -07:00
visionmedia 5c40cbc675 Merge branch 'update-haml' 2010-05-06 09:17:13 -07:00
visionmedia a455dcc919 Updated haml 2010-05-06 09:17:08 -07:00
visionmedia 289487cc46 Merge branch 'integration' 2010-05-06 07:52:32 -07:00
visionmedia 42b28d5bd6 Added spec / refactored layout of different engine support 2010-05-06 07:52:28 -07:00
visionmedia 46bee05d93 Merge branch 'master' of git://github.com/nick/express into integration 2010-05-06 07:44:43 -07:00
visionmedia 49bed5cd5f Added spec for layouts with different engines 2010-05-06 07:43:54 -07:00
Benny Wong 624cf93e2e Fixing EJS partial support by passing along the context. Issue #307 2010-05-06 01:20:35 -04:00
Nick Poulden 6ab76cda51 Allow layouts to use different engines 2010-05-05 13:19:16 -07:00
Nick Poulden 15beb81368 Allow ejs templates to contain single quotes 2010-05-05 11:42:41 -07:00
visionmedia 6a6cce03b7 Release 0.10.1 2010-05-03 08:42:01 -07:00
Matt Colyer 970ff87ef6 Fix binary uploads. 2010-05-01 11:46:25 -07:00
visionmedia 8b6c4d322f Updated history 2010-04-30 10:46:24 -07:00
visionmedia 4467a00acd Release 0.10.0 2010-04-30 10:34:13 -07:00
visionmedia 63efc61517 Added "dump exceptions" setting, which is enabled by default 2010-04-30 10:09:53 -07:00
visionmedia 7aa18345c8 Added better ejs usage example 2010-04-30 10:05:04 -07:00
visionmedia 34149187a8 Catching ENOENT in view caching, preventing error when "views/partials" is not found 2010-04-30 10:00:00 -07:00
visionmedia 2d132cd0d5 Merge branch 'ejs' 2010-04-30 09:57:23 -07:00
visionmedia 8d741361e0 Added simple ejs support 2010-04-30 09:57:19 -07:00
visionmedia 2bcea3a370 Added more cache key specs 2010-04-30 09:33:10 -07:00
visionmedia ead3cace02 No need to reverse plugins on each request
This was slowing things down quite a bit
2010-04-30 09:24:17 -07:00
visionmedia 7afa5c7b43 Revert "Clone / reverse plugins ONCE"
shit, was causing some bugs, will figure that out first

This reverts commit 115765e1ee.
2010-04-30 09:18:38 -07:00
visionmedia 115765e1ee Clone / reverse plugins ONCE
huuuuge performance boost
2010-04-30 09:12:48 -07:00
visionmedia d712fae2d7 Fixed bug producing messed up response bodies
Express was trying to respond twice to the same request
due to an error caused by having no callback,
which was then caught, and responded to using Request#error()

haha!
2010-04-30 08:53:52 -07:00
visionmedia 0dba9bd87f Removed Logger "request" format 2010-04-30 08:40:59 -07:00
visionmedia 2fbc495088 Merge branch 'update-ext' 2010-04-30 08:00:04 -07:00
visionmedia 37d490cbe4 Fixed bug recently introduced preventing plugin events to trigger 2010-04-30 07:59:57 -07:00
visionmedia 451679c582 Cache reaper destroys null caches as well
so they dont linger until expired
2010-04-29 09:01:17 -07:00
visionmedia 7270a13ef7 Fixed compileCookie() utility due to ext changes 2010-04-29 08:56:55 -07:00
visionmedia 16f3f90ed7 Todo 2010-04-29 08:52:48 -07:00
visionmedia 9ff2f81a10 Fixed cache bugs introduced by 1bc9a1a 2010-04-29 08:52:01 -07:00
visionmedia 1bc9a1af6a Fixed Cache Store.Memory usage of Object#reduce() 2010-04-29 08:42:51 -07:00
visionmedia 760d9e3341 Fixed error page hash iteration 2010-04-29 08:35:20 -07:00
visionmedia 5b28abc5ed Fixed session / cache key iteration due to ext changes 2010-04-29 08:23:24 -07:00
visionmedia defb1596bb Removed Array#at() usage 2010-04-29 08:10:31 -07:00
visionmedia 9c117d5875 Request#accepts() fixed due to ext changes 2010-04-29 08:09:48 -07:00
visionmedia 1b09fce42a Todo 2010-04-29 08:05:51 -07:00
visionmedia 5e328830e7 Replace merge() calls with Object.merge() 2010-04-29 08:04:42 -07:00
visionmedia 606da1c45b Merge branch 'integration' 2010-04-29 06:50:52 -07:00
visionmedia 6232c1a8f3 Several fixes to http client
- Only attempts to "render" data on first request (not redirects)
  - Allows setting of "redirects" via the data variable
  - Fixed Host header predecence issue
  - Only setting Content-Length / Content-Type when not previously set
  - Passing response object on errors
2010-04-29 06:50:46 -07:00
Viktor Kelemen 15a24e68d2 In case of redirect the request function was called with a wrong param list 2010-04-29 19:21:14 +09:00
visionmedia c12ace81db Fixed Logger content-length 2010-04-28 16:57:55 -07:00
visionmedia 531990b516 Merge branch 'rename-halt' 2010-04-26 09:17:06 -07:00
visionmedia b90a3dbffe Renamed Request#halt() to Request#respond(). Closes #289
deprecated Request#halt(), however it will remain until 1.0
2010-04-26 09:17:01 -07:00
visionmedia 0352b97798 Merge branch 'integration' 2010-04-26 07:07:15 -07:00
visionmedia e45abe60bf _ -> val 2010-04-26 07:07:11 -07:00
visionmedia 8077481707 Merge branch 'cache' of git://github.com/aheckmann/express into integration 2010-04-26 07:05:49 -07:00
visionmedia 4651dd33cd Updated haml submodule 2010-04-26 06:56:07 -07:00
visionmedia c93cfa0871 Added "encoding" option to Request#render(). Closes #299
Should work :)
2010-04-26 06:44:29 -07:00
Aaron Heckmann d57cb7d411 utilize each() 2010-04-25 00:02:20 -04:00
visionmedia 81088766ee Updated ext submodule 2010-04-24 14:14:51 -07:00
visionmedia ae59a50c28 Added benchmark link 2010-04-23 15:24:40 -07:00
visionmedia 4a05056393 Removed unused param in Cache.startReaper()
wtf?
2010-04-23 15:15:27 -07:00
visionmedia 71e97c815a Merge branch 'benchmarks' 2010-04-23 14:40:04 -07:00
visionmedia 8b7787aa60 Added sass benchmarks 2010-04-23 14:39:58 -07:00
visionmedia e0f94b052b Added ruby haml :ugly option to make it render faster in benchmarks 2010-04-23 11:56:12 -07:00
visionmedia eb2c9ffd32 Added haml benchmarks 2010-04-23 11:49:22 -07:00
visionmedia 5af315c165 Using sys.inspect() instead of JSON.encode() for error output
produces cleaner output
2010-04-23 10:30:59 -07:00
visionmedia e9fdfc339b Added error reponse support for text/plain, application/json. Closes #297 2010-04-23 10:28:12 -07:00
visionmedia 132730acea Added specs for errors with text/plain and application/json 2010-04-23 09:55:10 -07:00
visionmedia 405097d323 Fixed Request#sendfile() 404 support even when a callback is available 2010-04-23 06:57:02 -07:00
visionmedia c9d79f26c5 Smooth line graph 2010-04-22 14:18:13 -07:00
visionmedia 7ef13eaf0c Merge branch 'benchmarks' 2010-04-22 14:15:41 -07:00
visionmedia 2756aba21f Added COL 2010-04-22 14:15:36 -07:00
visionmedia c01a7f57df Merge branch 'benchmarks' 2010-04-22 13:43:14 -07:00
visionmedia 33a4dd3841 Fixed graph labels 2010-04-22 13:43:11 -07:00
visionmedia 3c150db4a2 Merge branch 'benchmarks' 2010-04-22 13:20:27 -07:00
visionmedia e31f5d2325 Generating bar graphs for requests per sec 2010-04-22 13:20:24 -07:00
visionmedia f8a61c667e My bad, swap express -> node in graphs 2010-04-22 12:09:40 -07:00
visionmedia e2fe60399f Merge branch 'benchmarks' 2010-04-22 12:04:32 -07:00
visionmedia 59c4e35691 Added graphing capabilities (gnuplot must be installed) 2010-04-22 12:04:28 -07:00
visionmedia 2dc5afd018 Docs 2010-04-22 11:04:04 -07:00
visionmedia b5df39bc46 Merge branch 'benchmarks' 2010-04-22 11:02:24 -07:00
visionmedia f87b709923 Added node static / large static benchmarks 2010-04-22 11:02:21 -07:00
visionmedia 671aa1036b Merge branch 'benchmarks' 2010-04-22 10:55:52 -07:00
visionmedia 4580340db3 Added simple node benchmark 2010-04-22 10:55:46 -07:00
visionmedia 31b53eae39 Added larger ~550kb static benchmarks 2010-04-22 10:41:04 -07:00
visionmedia 089423958d run() returns the http.Server instance. Closes #298 2010-04-22 09:48:20 -07:00
visionmedia 0d02ea43e1 Default Server#host to null (INADDR_ANY)
use run(3000, localhost) etc as needed
2010-04-22 09:43:57 -07:00
visionmedia 93239ae3fb Logger "common" format scale of 0.4f 2010-04-22 09:01:08 -07:00
visionmedia 5d21e9364d Match sinatra buffer size for static benchmark 2010-04-21 18:06:57 -07:00
visionmedia b9306c4cca Added sinatra static benchmark 2010-04-21 18:05:03 -07:00
visionmedia c07bd31f61 Outputting rps while benchmarking 2010-04-21 17:07:13 -07:00
visionmedia fee4830669 Added simple sinatra benchmark 2010-04-21 17:05:39 -07:00
visionmedia 9016b6778e Remove pids 2010-04-21 17:04:19 -07:00
visionmedia e05501a1ae Added simple thin benchmark 2010-04-21 17:03:39 -07:00
visionmedia 23d09fcc9e Added express static benchmark 2010-04-21 16:53:11 -07:00
visionmedia 5d11fccbf2 Ignore *.out 2010-04-21 16:42:39 -07:00
visionmedia 3851957dd0 Started benchmark script 2010-04-21 16:41:50 -07:00
visionmedia 135afb0883 Revert "Renamed session Base" - haha :) just kidding
This reverts commit 27b27af7cd.
2010-04-21 15:50:54 -07:00
visionmedia 27b27af7cd Renamed session Base 2010-04-21 15:50:43 -07:00
visionmedia 20fe31b803 Removed ETag work-around for bug in node
commit that fixed this: http://github.com/ry/node/commit/3934cb54853ca23cee7ef3c6206a5b1264f8ba6d
2010-04-21 15:33:06 -07:00
visionmedia ebca9aab8d Fix chat app plugins 2010-04-21 15:13:10 -07:00
visionmedia 49821e0416 Request#stream() fixes
a) on "end" the stream is already destroyed
  b) AFAIK its not destroyed on "error", so now we destroy it
  c) no need to callback(err) unless first
2010-04-21 14:53:46 -07:00
visionmedia b5d6f1ada5 Merge branch 'etag' 2010-04-21 14:37:17 -07:00
visionmedia b40325cd7b Misc refactoring to Request#trigger() 2010-04-21 13:49:44 -07:00
visionmedia 3b27ec66e1 Removed "data || {}" in Event constructor. Not needed anymore since Object#merge() handles non objects 2010-04-21 13:42:49 -07:00
visionmedia 52b8b36d54 Updated ext submodule which includes higher performance Object#merge() 2010-04-21 13:14:35 -07:00
visionmedia 7e3106dd1b Increase performance by preventing several calls to toLowerCase() in Router#match()
Roughly 10% increase for routing speeds
2010-04-21 12:48:37 -07:00
visionmedia 399e0d94fc Merge branch 'fix-opera' 2010-04-21 11:45:32 -07:00
visionmedia eef1ff9e87 Fixed bug preventing Opera from retaining the generated session id. Closes #292
This might not be the best solution, I am not sure what the cookie spec states.
But it works for now :)
2010-04-21 11:45:27 -07:00
visionmedia 9202c7504b Added "request" logger format for debugging http requests 2010-04-21 10:46:01 -07:00
visionmedia 3fd7e3b93e Added make prof so that we can generate v8.log and analyse the output 2010-04-21 09:58:39 -07:00
visionmedia b6996df86a Added "template created in ..." message in bin/express 2010-04-21 09:24:55 -07:00
visionmedia 4b3efd7bfa Added PREFIX to makefile 2010-04-21 09:24:30 -07:00
visionmedia 12c2682c34 Merge branch 'bin' 2010-04-21 08:57:55 -07:00
visionmedia 2caf67b813 Bash template generator with dummy app 2010-04-21 08:57:50 -07:00
visionmedia fbbe13661a Added view partials to feature list 2010-04-20 20:59:23 -07:00
visionmedia 0fb102edae Normalized another header name 2010-04-20 20:57:12 -07:00
visionmedia b4dd90d074 0.9.0 release details link 2010-04-20 19:53:42 -07:00
visionmedia 2e3f806d07 Normalized header conventions.
For example use Content-Type instead of content-type,
Request#header() lowercases when reading a header,
however does not when writing.
2010-04-20 19:33:54 -07:00
visionmedia f76092e83e Request#error() now accepts a callback function
A common idiom is / will be to accept a callback function in most cases
so this will help to keep things DRY
2010-04-20 19:23:16 -07:00
visionmedia 1e44081583 Added Request#sendHead() 2010-04-20 19:15:30 -07:00
visionmedia 26b3a4259d Added support for Request#halt(status, null) (empty response body) 2010-04-20 19:11:18 -07:00
visionmedia 8a074a7e6d Request#sendfile() Content-Length prevents images from rendering for some reason
commented out for now
2010-04-20 17:27:32 -07:00
visionmedia e99434582f Added ETag support to Request#sendfile() 2010-04-20 16:44:11 -07:00
visionmedia fec57df994 Added options to Request#sendfile(), passed to fs.createReadStream() 2010-04-20 13:09:24 -07:00
visionmedia 033cb2d20a Updated haml submodule 2010-04-20 11:07:58 -07:00
visionmedia a5fa58e3e6 Updated ext submodule 2010-04-20 09:59:35 -07:00
visionmedia fdc9d2714b Removed unused script from sample upload app.
This was preventing the page from loading
2010-04-20 09:46:02 -07:00
visionmedia 824ca9b513 Merge branch 'update-ext' 2010-04-20 09:32:57 -07:00
visionmedia a74a740964 Updated ext submodule 2010-04-20 09:32:52 -07:00
visionmedia 2041d52495 no need for type coercion for testing methods 2010-04-20 08:13:38 -07:00
visionmedia fb5d528eff Merge branch 'stream' 2010-04-19 15:22:24 -07:00
visionmedia a2cedbd9da Request#download() now accepts second filename arg 2010-04-19 15:20:35 -07:00
visionmedia 8574eddfa0 Misc refactoring to Request#stream() 2010-04-19 14:43:42 -07:00
visionmedia 2ccf876929 Started Request#stream() based of Aarons work on Static#streamfile() 2010-04-19 13:58:29 -07:00
visionmedia 28df150784 Revert "Only unshift support libs once"
This reverts commit 0950083da2.
2010-04-16 10:27:33 -07:00
visionmedia 0950083da2 Only unshift support libs once 2010-04-16 10:25:21 -07:00
visionmedia 88c5f910da Changed; sendfile() using notFound()
instead of halt() so that our DSL-level notFound()
route can handle this as needed. Also outputs the pretty
page when visiting directly
2010-04-15 09:43:29 -07:00
visionmedia a9d3e4798e Updated node --version supported 2010-04-15 08:50:25 -07:00
visionmedia d85d834b23 Updated JSpec 2010-04-15 08:49:59 -07:00
visionmedia 5729da5a9f Release 0.9.0 2010-04-14 17:03:57 -07:00
visionmedia 1255331160 Release 0.9.0 2010-04-14 16:56:13 -07:00
visionmedia 0fef51b5f6 Updated git submodules 2010-04-14 16:41:42 -07:00
visionmedia 7cf18c0468 Merge branch 'fix-querystring-0' 2010-04-13 13:25:55 -07:00
visionmedia b994509b9d Fixed bug preventing falsey params. Closes #286
Request#param() would prevously fail with ?page=0 for example
when param("page") is used since it would return undefined and not 0
2010-04-13 13:25:44 -07:00
visionmedia 6571e19e8f Added spec for #286 2010-04-13 13:17:27 -07:00
visionmedia 7441164db9 Merge branch 'integration' 2010-04-12 20:40:03 -07:00
visionmedia 09bb10cd3f Merge branch 'download' of git://github.com/aheckmann/express into integration 2010-04-12 20:39:20 -07:00
Aaron Heckmann bd6f24f4b1 add cookie support to readme 2010-04-12 22:56:59 -04:00
Aaron Heckmann 0a174ad219 move Request#download to Static plugin
#download() was a hangover from before the Static plugin existed and no longer worked. Also added missing specs so this won't happen again.
2010-04-12 22:49:49 -04:00
visionmedia 33d004fb9a Fixed MockResponse to match node API 2010-04-12 11:04:52 -07:00
visionmedia 652bf34c77 Merge branch 'integration' 2010-04-12 10:40:08 -07:00
Aaron Heckmann 3f11bad68e fix FileWriteStream.prototype.close renamed to end() 2010-04-11 23:10:41 -04:00
Aaron Heckmann 5245fbfc6d fix OutgoingMessage.prototype.close has been renamed to end() 2010-04-11 23:06:09 -04:00
visionmedia 68f8ee8a99 Fixed "express" executable due to node 0.1.90 changes 2010-04-11 18:39:14 -07:00
visionmedia 7b83a52dce http client fix from node renaming close to end 2010-04-11 18:10:58 -07:00
visionmedia 5f57c82478 Merge branch 'integration' 2010-04-11 18:08:05 -07:00
visionmedia 3128cbef73 Removed TODO comment
added an issue http://github.com/visionmedia/express/issues/issue/285
2010-04-11 18:08:00 -07:00
visionmedia 694b2bf055 Merge branch 'node_0.1.9_fixes' of git://github.com/ciaranj/express into integration 2010-04-11 18:04:31 -07:00
visionmedia e03a023c5f Merge branch 'integration' 2010-04-11 17:45:19 -07:00
ciaranj 3ff5d3bd09 Temporarily add back in the old multipart support
This will at least get us going again whilst decisions are made :)
2010-04-10 10:06:04 +01:00
ciaranj 04841196e3 Fixed the cookie test so it will work in different timezones.
Tj, I'm not sure what timezone you were in when you wrote the test, but
I've guessed that it was PDT ?   Hopefully this fix allows the test to
run in any timezone :) .. I was surprised that cookies don't use UTC which
could've mate things a lot cleaner, meh, old tech eh.
2010-04-10 09:59:41 +01:00
visionmedia 18dd495d99 Revert "Fixed relative require of Class"
This reverts commit f714945bbb.
2010-04-08 16:09:06 -07:00
visionmedia f714945bbb Fixed relative require of Class 2010-04-08 15:43:33 -07:00
visionmedia a318ef2232 Cookie expires now using Date#toGMTString()
Spec I found wanted hyphens, but this appears to be the norm
for JS cookies
2010-04-06 19:40:59 -07:00
visionmedia 8ed24de9d3 Updated haml submodule 2010-04-06 15:32:36 -07:00
visionmedia e06e50936d Updated sass submodule 2010-04-06 14:38:06 -07:00
visionmedia d710e9cb47 Merge branch 'integration' 2010-04-06 11:01:23 -07:00
Aaron Heckmann 9af3699850 utilize Date.now() 2010-04-04 12:50:11 -04:00
visionmedia 3cc7b4d8c2 Utilizing Date.now() 2010-04-02 14:12:36 -07:00
visionmedia 8b58732a1f Merge branch 'globals' 2010-04-02 13:35:04 -07:00
visionmedia a2a0935343 Request is no longer global 2010-04-02 13:13:26 -07:00
visionmedia 2668156e53 Event is no longer global 2010-04-02 13:07:54 -07:00
visionmedia d67615d239 puts() -> sys.puts() 2010-04-02 13:06:25 -07:00
visionmedia afd70b64ed Removed "sys" global merge 2010-04-02 13:05:18 -07:00
visionmedia 78a6e43667 Request#render() now only sets option.cache to true when set("cache view contents") is true
to allow development editing of the views
2010-03-31 10:36:52 -07:00
visionmedia a65af97e43 Docs 2010-03-31 10:28:40 -07:00
visionmedia 637dfabe69 render() always passing "cache" and "filename" options
if the engine does not use them, then they
will be ignored. However this already bumps
haml.js by about %25 in terms of performance
2010-03-31 10:20:24 -07:00
visionmedia ff8b3c10f3 Updated haml submodule 2010-03-31 10:14:29 -07:00
visionmedia f442555d8f Updated haml submodule 2010-03-31 08:10:28 -07:00
visionmedia bdf9f882ad Merge branch 'better-haml' 2010-03-31 07:51:00 -07:00
visionmedia 1e5c5bfe00 Switching around partial filename 2010-03-31 07:50:11 -07:00
visionmedia 0e78fdfcb4 Templates using haml.js instead of haml-js 2010-03-29 10:23:22 -07:00
visionmedia 4f532f86dc Added haml.js submodule; removed haml-js 2010-03-29 09:21:33 -07:00
visionmedia 92844825cb Always httpOnly session cookie 2010-03-29 08:37:57 -07:00
visionmedia 6b13fc99b0 Merge branch 'flip-views' 2010-03-29 08:25:23 -07:00
visionmedia 0f7aa26757 Added deprecation warning for views 2010-03-29 08:25:18 -07:00
visionmedia a06f963263 Merge branch 'flipViewExt' of git://github.com/aheckmann/express into flip-views 2010-03-29 07:58:13 -07:00
visionmedia d31de1e654 Defaulting httpOnly for Session cookies, however overridable 2010-03-29 07:55:37 -07:00
Aaron Heckmann 46a0301022 session cookie now httpOnly 2010-03-27 00:21:37 -04:00
Aaron Heckmann 73d26036ef updated specs and example apps
all tests passing
2010-03-27 00:00:49 -04:00
Aaron Heckmann b9637c9d7d started flipping view extensions 2010-03-27 00:00:49 -04:00
visionmedia 08497683bf Fixed setting of multiple cookies. Closes #199 2010-03-26 16:08:39 -07:00
visionmedia 44a50f6e58 Moved require("http") out of Server#run() 2010-03-26 07:16:55 -07:00
visionmedia 4c2b4e5c66 Removed unused require 2010-03-26 07:16:12 -07:00
Guillermo Rauch b0884ad7c3 Correction 2010-03-25 19:33:45 -07:00
Guillermo Rauch cf09f86df2 Expose the http.Server instance 2010-03-25 19:17:43 -07:00
visionmedia d33c38f671 Merge branch 'integration' 2010-03-25 15:57:08 -07:00
Aaron Heckmann fbfba21854 multipart parse only when needed 2010-03-25 18:03:32 -04:00
visionmedia b2093d6f10 Merge branch 'partial-index-and-length' 2010-03-25 12:47:22 -07:00
visionmedia 736a0190c1 Passing __index__, __length__, __isFirst__, __isLast__ to collection partials. Closes #254 2010-03-25 12:47:17 -07:00
visionmedia a74c259c38 Request instance created before body parsing. Closes #262
Merge branch 'request'
2010-03-25 11:48:35 -07:00
visionmedia d3dedd6312 Fixed post param issue 2010-03-25 11:44:55 -07:00
visionmedia 920eab0ef9 Fixed mocks to work with new routing api 2010-03-25 11:37:56 -07:00
visionmedia d576085e8d . 2010-03-25 11:09:50 -07:00
visionmedia 62b9a9e287 Docs 2010-03-25 10:49:25 -07:00
visionmedia 56ffe1d62a Merge branch 'upload-limit' 2010-03-25 10:49:00 -07:00
visionmedia 14acbcb5f1 Added "max upload size" setting 2010-03-25 10:48:55 -07:00
visionmedia 9a0011bf49 Updated ext. Closes #256
Should be fixed now :)
2010-03-25 09:29:52 -07:00
visionmedia 7b9f18b097 Added Request#render() callback function. Closes #258 2010-03-25 08:53:47 -07:00
visionmedia f8e4333157 Merge branch 'integration' 2010-03-25 08:40:47 -07:00
visionmedia b5c933aa94 fn -> callback 2010-03-25 08:40:18 -07:00
visionmedia c441af3f2c Typo 2010-03-25 08:39:48 -07:00
visionmedia e885421a67 Merge branch 'master' of git://github.com/aheckmann/express into integration 2010-03-25 08:38:54 -07:00
visionmedia ce4fe24a93 Updated to JSpec 4.0.0 2010-03-25 08:25:38 -07:00
visionmedia 1c0e2ceba5 error() is passed the exception 2010-03-25 08:24:19 -07:00
Aaron Heckmann a435e8ec47 fn -> callback 2010-03-25 11:22:48 -04:00
visionmedia b958393135 Added DSL level error() route support 2010-03-25 08:21:49 -07:00
visionmedia a6dd697a68 Added DSL level notFound() route support 2010-03-25 08:13:22 -07:00
visionmedia a4833e7b35 Added specs for Request#notFound() 2010-03-25 07:58:28 -07:00
visionmedia 54fa643c10 More Request#error() specs 2010-03-25 07:54:07 -07:00
visionmedia 6047cd4542 Added specs for Request#error() 2010-03-25 07:51:19 -07:00
visionmedia 8c5f7df280 Merge branch 'errors' 2010-03-25 07:35:44 -07:00
visionmedia ff1250c33c Added publish Request#notFound() 2010-03-25 07:35:39 -07:00
visionmedia 4297c10fe9 Removed Express.error(), Added public Request#error() 2010-03-25 07:18:55 -07:00
visionmedia ab6ad94ec3 Request#halt() accepts callback function as 3rd/4th arg 2010-03-24 16:05:34 -07:00
visionmedia 759183461f Merge branch 'error-handling' 2010-03-24 15:44:50 -07:00
visionmedia f850fa6bc9 Misc error handling improvements 2010-03-24 15:44:46 -07:00
visionmedia 5a242d35b7 Removed unused variable 2010-03-24 15:15:45 -07:00
visionmedia abf5d66e01 Merge branch 'error-handling' 2010-03-24 15:08:51 -07:00
visionmedia e92360e0d4 Caching notFound / showException modules 2010-03-24 15:08:06 -07:00
visionmedia b5c0fdc013 Express.error() now acts as the core exception handler 2010-03-24 14:54:13 -07:00
visionmedia 906ef02c5e request response event is now fired in reverse.
This does a few things:
  a. Allows plugins such as Logger to properly "wrap" all
     other plugins when it is the first passed to use().

  b. Lessons the chance of a plugin failure effecting another plugin
2010-03-24 14:45:46 -07:00
visionmedia 7550decbc0 Handle when a plugin response fails 2010-03-24 14:32:08 -07:00
visionmedia acd88c3c8a next -> callback 2010-03-24 12:56:26 -07:00
visionmedia a3854a2de1 Styling 2010-03-24 12:54:52 -07:00
visionmedia 880aca5d83 Removed set("session cookie") in favour of use(Session, { cookie: { ... }}) 2010-03-24 12:53:33 -07:00
visionmedia 2d1c98a5a7 Docs for stable / edge 2010-03-24 08:33:43 -07:00
visionmedia fefa06ba21 Merge branch 'route-wildcards' 2010-03-23 10:41:31 -07:00
visionmedia 18faa91c94 Added preprocessing of route param wildcards using param(). Closes #251
Async is yet to come
2010-03-23 10:41:25 -07:00
visionmedia 9f23c7b31a Added specs for param() 2010-03-23 10:31:46 -07:00
visionmedia eee6926bab Added more route wildcard specs 2010-03-23 10:11:52 -07:00
visionmedia 6806f952d6 Merge branch 'pre-cache-views' 2010-03-23 09:53:23 -07:00
visionmedia faaef54b42 Pre-caching views in memory. Closes #253
This mirrors the partial caching functionality. This
causes a slight overhead at boot time, however prevents
the need to perform cache checks per render() call.
2010-03-23 09:53:17 -07:00
visionmedia c29852fae7 Started pre caching of views 2010-03-23 09:42:23 -07:00
visionmedia 7d100dae97 Merge branch 'integration' 2010-03-22 15:34:50 -07:00
visionmedia 206e800963 Added assertion to ensure that partials dir is relative to set("views") 2010-03-22 15:34:46 -07:00
visionmedia 555a334315 Re-using variables 2010-03-22 15:33:08 -07:00
visionmedia d2c5def108 Using set("views") when setting set("partials")
So that /partials is always relative by default
2010-03-22 15:31:39 -07:00
visionmedia 98323c530e partialscache -> partials 2010-03-22 15:30:34 -07:00
Aaron Heckmann b36510dbb9 preload partials
add settings
bug fix, partial now works when cache view contents is true
2010-03-22 18:16:40 -04:00
Aaron Heckmann 50e533c32b add cache view partials 2010-03-22 16:40:35 -04:00
visionmedia 33277c3d37 Removed utils.mixin() use Object#mergeDeep()
jQuery is messy, and this implementation is way to
slow for SSJS, and just gross :)
2010-03-22 11:28:23 -07:00
visionmedia 28f2ad0109 Merge branch 'partials' 2010-03-22 10:21:42 -07:00
visionmedia 5d10ee4e61 Chat sample app using partials as an example 2010-03-22 10:21:37 -07:00
visionmedia b4190ada0c Added partial "as" option 2010-03-22 10:16:12 -07:00
visionmedia 60d314552d Partial collection should not introduce newlines 2010-03-22 10:13:25 -07:00
visionmedia c971d54543 Added partial collection support 2010-03-22 10:12:52 -07:00
visionmedia 346f019fa8 Started view partial support 2010-03-22 10:05:05 -07:00
visionmedia d61c2480b6 Updated ext submodule 2010-03-22 09:12:24 -07:00
visionmedia e30b5b86da Removed Request#_blendInNodeRequest() 2010-03-22 09:12:09 -07:00
visionmedia bd74fe24fd Merge branch 'net2_fixes' of git://github.com/ciaranj/express 2010-03-22 09:05:58 -07:00
visionmedia b30eaa8ee3 Updated support to v0.1.33 2010-03-22 08:34:05 -07:00
ciaranj 75c530516a Various minor fixes required to make express work post the net2 merge branch 2010-03-20 12:26:37 +00:00
296 arquivos alterados com 13107 adições e 7933 exclusões
+16 -1
Ver Arquivo
@@ -1,3 +1,18 @@
coverage.html
.DS_Store
lib-cov
*.seed
*.log
*.log
*.csv
*.dat
*.out
*.pid
*.swp
*.swo
benchmarks/graphs
testing
node_modules/
testing
.coverage_data
cover_html
test.js
-15
Ver Arquivo
@@ -1,15 +0,0 @@
[submodule "lib/support/oo"]
path = lib/support/oo
url = git://github.com/visionmedia/js-oo.git
[submodule "lib/support/ext"]
path = lib/support/ext
url = git://github.com/visionmedia/ext.js.git
[submodule "lib/support/sass"]
path = lib/support/sass
url = git://github.com/visionmedia/sass.js.git
[submodule "lib/support/haml"]
path = lib/support/haml
url = git://github.com/creationix/haml-js.git
[submodule "lib/support/class"]
path = lib/support/class
url = git://github.com/visionmedia/class.js.git
+9
Ver Arquivo
@@ -0,0 +1,9 @@
.git*
docs/
examples/
support/
test/
testing.js
.DS_Store
coverage.html
lib-cov
+3
Ver Arquivo
@@ -0,0 +1,3 @@
language: node_js
node_js:
- 0.6
+786
Ver Arquivo
@@ -1,4 +1,790 @@
3.0.0beta5 / 2012-07-03
==================
* add "make check" support
* add route-map example
* add `res.json(obj, status)` support back for BC
* add "methods" dep, remove internal methods module
* update connect dep
* update auth example to utilize cores pbkdf2
* updated tests to use "supertest"
3.0.0beta4 / 2012-06-25
==================
* Added `req.auth`
* Added `req.range(size)`
* Added `res.links(obj)`
* Added `res.send(body, status)` support back for backwards compat
* Added `.default()` support to `res.format()`
* Added 2xx / 304 check to `req.fresh`
* Revert "Added + support to the router"
* Fixed `res.send()` freshness check, respect res.statusCode
3.0.0beta3 / 2012-06-15
==================
* Added hogan `--hjs` to express(1) [nullfirm]
* Added another example to content-negotiation
* Added `fresh` dep
* Changed: `res.send()` always checks freshness
* Fixed: expose connects mime module. Cloases #1165
3.0.0beta2 / 2012-06-06
==================
* Added `+` support to the router
* Added `req.host`
* Changed `req.param()` to check route first
* Update connect dep
3.0.0beta1 / 2012-06-01
==================
* Added `res.format()` callback to override default 406 behaviour
* Fixed `res.redirect()` 406. Closes #1154
3.0.0alpha5 / 2012-05-30
==================
* Added `req.ip`
* Added `{ signed: true }` option to `res.cookie()`
* Removed `res.signedCookie()`
* Changed: dont reverse `req.ips`
* Fixed "trust proxy" setting check for `req.ips`
3.0.0alpha4 / 2012-05-09
==================
* Added: allow `[]` in jsonp callback. Closes #1128
* Added `PORT` env var support in generated template. Closes #1118 [benatkin]
* Updated: connect 2.2.2
3.0.0alpha3 / 2012-05-04
==================
* Added public `app.routes`. Closes #887
* Added _view-locals_ example
* Added _mvc_ example
* Added `res.locals.use()`. Closes #1120
* Added conditional-GET support to `res.send()`
* Added: coerce `res.set()` values to strings
* Changed: moved `static()` in generated apps below router
* Changed: `res.send()` only set ETag when not previously set
* Changed connect 2.2.1 dep
* Changed: `make test` now runs unit / acceptance tests
* Fixed req/res proto inheritance
3.0.0alpha2 / 2012-04-26
==================
* Added `make benchmark` back
* Added `res.send()` support for `String` objects
* Added client-side data exposing example
* Added `res.header()` and `req.header()` aliases for BC
* Added `express.createServer()` for BC
* Perf: memoize parsed urls
* Perf: connect 2.2.0 dep
* Changed: make `expressInit()` middleware self-aware
* Fixed: use app.get() for all core settings
* Fixed redis session example
* Fixed session example. Closes #1105
* Fixed generated express dep. Closes #1078
3.0.0alpha1 / 2012-04-15
==================
* Added `app.locals.use(callback)`
* Added `app.locals` object
* Added `app.locals(obj)`
* Added `res.locals` object
* Added `res.locals(obj)`
* Added `res.format()` for content-negotiation
* Added `app.engine()`
* Added `res.cookie()` JSON cookie support
* Added "trust proxy" setting
* Added `req.subdomains`
* Added `req.protocol`
* Added `req.secure`
* Added `req.path`
* Added `req.ips`
* Added `req.fresh`
* Added `req.stale`
* Added comma-delmited / array support for `req.accepts()`
* Added debug instrumentation
* Added `res.set(obj)`
* Added `res.set(field, value)`
* Added `res.get(field)`
* Added `app.get(setting)`. Closes #842
* Added `req.acceptsLanguage()`
* Added `req.acceptsCharset()`
* Added `req.accepted`
* Added `req.acceptedLanguages`
* Added `req.acceptedCharsets`
* Added "json replacer" setting
* Added "json spaces" setting
* Added X-Forwarded-Proto support to `res.redirect()`. Closes #92
* Added `--less` support to express(1)
* Added `express.response` prototype
* Added `express.request` prototype
* Added `express.application` prototype
* Added `app.path()`
* Added `app.render()`
* Added `res.type()` to replace `res.contentType()`
* Changed: `res.redirect()` to add relative support
* Changed: enable "jsonp callback" by default
* Changed: renamed "case sensitive routes" to "case sensitive routing"
* Rewrite of all tests with mocha
* Removed "root" setting
* Removed `res.redirect('home')` support
* Removed `req.notify()`
* Removed `app.register()`
* Removed `app.redirect()`
* Removed `app.is()`
* Removed `app.helpers()`
* Removed `app.dynamicHelpers()`
* Fixed `res.sendfile()` with non-GET. Closes #723
* Fixed express(1) public dir for windows. Closes #866
2.5.9/ 2012-04-02
==================
* Added support for PURGE request method [pbuyle]
* Fixed `express(1)` generated app `app.address()` before `listening` [mmalecki]
2.5.8 / 2012-02-08
==================
* Update mkdirp dep. Closes #991
2.5.7 / 2012-02-06
==================
* Fixed `app.all` duplicate DELETE requests [mscdex]
2.5.6 / 2012-01-13
==================
* Updated hamljs dev dep. Closes #953
2.5.5 / 2012-01-08
==================
* Fixed: set `filename` on cached templates [matthewleon]
2.5.4 / 2012-01-02
==================
* Fixed `express(1)` eol on 0.4.x. Closes #947
2.5.3 / 2011-12-30
==================
* Fixed `req.is()` when a charset is present
2.5.2 / 2011-12-10
==================
* Fixed: express(1) LF -> CRLF for windows
2.5.1 / 2011-11-17
==================
* Changed: updated connect to 1.8.x
* Removed sass.js support from express(1)
2.5.0 / 2011-10-24
==================
* Added ./routes dir for generated app by default
* Added npm install reminder to express(1) app gen
* Added 0.5.x support
* Removed `make test-cov` since it wont work with node 0.5.x
* Fixed express(1) public dir for windows. Closes #866
2.4.7 / 2011-10-05
==================
* Added mkdirp to express(1). Closes #795
* Added simple _json-config_ example
* Added shorthand for the parsed request's pathname via `req.path`
* Changed connect dep to 1.7.x to fix npm issue...
* Fixed `res.redirect()` __HEAD__ support. [reported by xerox]
* Fixed `req.flash()`, only escape args
* Fixed absolute path checking on windows. Closes #829 [reported by andrewpmckenzie]
2.4.6 / 2011-08-22
==================
* Fixed multiple param callback regression. Closes #824 [reported by TroyGoode]
2.4.5 / 2011-08-19
==================
* Added support for routes to handle errors. Closes #809
* Added `app.routes.all()`. Closes #803
* Added "basepath" setting to work in conjunction with reverse proxies etc.
* Refactored `Route` to use a single array of callbacks
* Added support for multiple callbacks for `app.param()`. Closes #801
Closes #805
* Changed: removed .call(self) for route callbacks
* Dependency: `qs >= 0.3.1`
* Fixed `res.redirect()` on windows due to `join()` usage. Closes #808
2.4.4 / 2011-08-05
==================
* Fixed `res.header()` intention of a set, even when `undefined`
* Fixed `*`, value no longer required
* Fixed `res.send(204)` support. Closes #771
2.4.3 / 2011-07-14
==================
* Added docs for `status` option special-case. Closes #739
* Fixed `options.filename`, exposing the view path to template engines
2.4.2. / 2011-07-06
==================
* Revert "removed jsonp stripping" for XSS
2.4.1 / 2011-07-06
==================
* Added `res.json()` JSONP support. Closes #737
* Added _extending-templates_ example. Closes #730
* Added "strict routing" setting for trailing slashes
* Added support for multiple envs in `app.configure()` calls. Closes #735
* Changed: `res.send()` using `res.json()`
* Changed: when cookie `path === null` don't default it
* Changed; default cookie path to "home" setting. Closes #731
* Removed _pids/logs_ creation from express(1)
2.4.0 / 2011-06-28
==================
* Added chainable `res.status(code)`
* Added `res.json()`, an explicit version of `res.send(obj)`
* Added simple web-service example
2.3.12 / 2011-06-22
==================
* \#express is now on freenode! come join!
* Added `req.get(field, param)`
* Added links to Japanese documentation, thanks @hideyukisaito!
* Added; the `express(1)` generated app outputs the env
* Added `content-negotiation` example
* Dependency: connect >= 1.5.1 < 2.0.0
* Fixed view layout bug. Closes #720
* Fixed; ignore body on 304. Closes #701
2.3.11 / 2011-06-04
==================
* Added `npm test`
* Removed generation of dummy test file from `express(1)`
* Fixed; `express(1)` adds express as a dep
* Fixed; prune on `prepublish`
2.3.10 / 2011-05-27
==================
* Added `req.route`, exposing the current route
* Added _package.json_ generation support to `express(1)`
* Fixed call to `app.param()` function for optional params. Closes #682
2.3.9 / 2011-05-25
==================
* Fixed bug-ish with `../' in `res.partial()` calls
2.3.8 / 2011-05-24
==================
* Fixed `app.options()`
2.3.7 / 2011-05-23
==================
* Added route `Collection`, ex: `app.get('/user/:id').remove();`
* Added support for `app.param(fn)` to define param logic
* Removed `app.param()` support for callback with return value
* Removed module.parent check from express(1) generated app. Closes #670
* Refactored router. Closes #639
2.3.6 / 2011-05-20
==================
* Changed; using devDependencies instead of git submodules
* Fixed redis session example
* Fixed markdown example
* Fixed view caching, should not be enabled in development
2.3.5 / 2011-05-20
==================
* Added export `.view` as alias for `.View`
2.3.4 / 2011-05-08
==================
* Added `./examples/say`
* Fixed `res.sendfile()` bug preventing the transfer of files with spaces
2.3.3 / 2011-05-03
==================
* Added "case sensitive routes" option.
* Changed; split methods supported per rfc [slaskis]
* Fixed route-specific middleware when using the same callback function several times
2.3.2 / 2011-04-27
==================
* Fixed view hints
2.3.1 / 2011-04-26
==================
* Added `app.match()` as `app.match.all()`
* Added `app.lookup()` as `app.lookup.all()`
* Added `app.remove()` for `app.remove.all()`
* Added `app.remove.VERB()`
* Fixed template caching collision issue. Closes #644
* Moved router over from connect and started refactor
2.3.0 / 2011-04-25
==================
* Added options support to `res.clearCookie()`
* Added `res.helpers()` as alias of `res.locals()`
* Added; json defaults to UTF-8 with `res.send()`. Closes #632. [Daniel * Dependency `connect >= 1.4.0`
* Changed; auto set Content-Type in res.attachement [Aaron Heckmann]
* Renamed "cache views" to "view cache". Closes #628
* Fixed caching of views when using several apps. Closes #637
* Fixed gotcha invoking `app.param()` callbacks once per route middleware.
Closes #638
* Fixed partial lookup precedence. Closes #631
Shaw]
2.2.2 / 2011-04-12
==================
* Added second callback support for `res.download()` connection errors
* Fixed `filename` option passing to template engine
2.2.1 / 2011-04-04
==================
* Added `layout(path)` helper to change the layout within a view. Closes #610
* Fixed `partial()` collection object support.
Previously only anything with `.length` would work.
When `.length` is present one must still be aware of holes,
however now `{ collection: {foo: 'bar'}}` is valid, exposes
`keyInCollection` and `keysInCollection`.
* Performance improved with better view caching
* Removed `request` and `response` locals
* Changed; errorHandler page title is now `Express` instead of `Connect`
2.2.0 / 2011-03-30
==================
* Added `app.lookup.VERB()`, ex `app.lookup.put('/user/:id')`. Closes #606
* Added `app.match.VERB()`, ex `app.match.put('/user/12')`. Closes #606
* Added `app.VERB(path)` as alias of `app.lookup.VERB()`.
* Dependency `connect >= 1.2.0`
2.1.1 / 2011-03-29
==================
* Added; expose `err.view` object when failing to locate a view
* Fixed `res.partial()` call `next(err)` when no callback is given [reported by aheckmann]
* Fixed; `res.send(undefined)` responds with 204 [aheckmann]
2.1.0 / 2011-03-24
==================
* Added `<root>/_?<name>` partial lookup support. Closes #447
* Added `request`, `response`, and `app` local variables
* Added `settings` local variable, containing the app's settings
* Added `req.flash()` exception if `req.session` is not available
* Added `res.send(bool)` support (json response)
* Fixed stylus example for latest version
* Fixed; wrap try/catch around `res.render()`
2.0.0 / 2011-03-17
==================
* Fixed up index view path alternative.
* Changed; `res.locals()` without object returns the locals
2.0.0rc3 / 2011-03-17
==================
* Added `res.locals(obj)` to compliment `res.local(key, val)`
* Added `res.partial()` callback support
* Fixed recursive error reporting issue in `res.render()`
2.0.0rc2 / 2011-03-17
==================
* Changed; `partial()` "locals" are now optional
* Fixed `SlowBuffer` support. Closes #584 [reported by tyrda01]
* Fixed .filename view engine option [reported by drudge]
* Fixed blog example
* Fixed `{req,res}.app` reference when mounting [Ben Weaver]
2.0.0rc / 2011-03-14
==================
* Fixed; expose `HTTPSServer` constructor
* Fixed express(1) default test charset. Closes #579 [reported by secoif]
* Fixed; default charset to utf-8 instead of utf8 for lame IE [reported by NickP]
2.0.0beta3 / 2011-03-09
==================
* Added support for `res.contentType()` literal
The original `res.contentType('.json')`,
`res.contentType('application/json')`, and `res.contentType('json')`
will work now.
* Added `res.render()` status option support back
* Added charset option for `res.render()`
* Added `.charset` support (via connect 1.0.4)
* Added view resolution hints when in development and a lookup fails
* Added layout lookup support relative to the page view.
For example while rendering `./views/user/index.jade` if you create
`./views/user/layout.jade` it will be used in favour of the root layout.
* Fixed `res.redirect()`. RFC states absolute url [reported by unlink]
* Fixed; default `res.send()` string charset to utf8
* Removed `Partial` constructor (not currently used)
2.0.0beta2 / 2011-03-07
==================
* Added res.render() `.locals` support back to aid in migration process
* Fixed flash example
2.0.0beta / 2011-03-03
==================
* Added HTTPS support
* Added `res.cookie()` maxAge support
* Added `req.header()` _Referrer_ / _Referer_ special-case, either works
* Added mount support for `res.redirect()`, now respects the mount-point
* Added `union()` util, taking place of `merge(clone())` combo
* Added stylus support to express(1) generated app
* Added secret to session middleware used in examples and generated app
* Added `res.local(name, val)` for progressive view locals
* Added default param support to `req.param(name, default)`
* Added `app.disabled()` and `app.enabled()`
* Added `app.register()` support for omitting leading ".", either works
* Added `res.partial()`, using the same interface as `partial()` within a view. Closes #539
* Added `app.param()` to map route params to async/sync logic
* Added; aliased `app.helpers()` as `app.locals()`. Closes #481
* Added extname with no leading "." support to `res.contentType()`
* Added `cache views` setting, defaulting to enabled in "production" env
* Added index file partial resolution, eg: partial('user') may try _views/user/index.jade_.
* Added `req.accepts()` support for extensions
* Changed; `res.download()` and `res.sendfile()` now utilize Connect's
static file server `connect.static.send()`.
* Changed; replaced `connect.utils.mime()` with npm _mime_ module
* Changed; allow `req.query` to be pre-defined (via middleware or other parent
* Changed view partial resolution, now relative to parent view
* Changed view engine signature. no longer `engine.render(str, options, callback)`, now `engine.compile(str, options) -> Function`, the returned function accepts `fn(locals)`.
* Fixed `req.param()` bug returning Array.prototype methods. Closes #552
* Fixed; using `Stream#pipe()` instead of `sys.pump()` in `res.sendfile()`
* Fixed; using _qs_ module instead of _querystring_
* Fixed; strip unsafe chars from jsonp callbacks
* Removed "stream threshold" setting
1.0.8 / 2011-03-01
==================
* Allow `req.query` to be pre-defined (via middleware or other parent app)
* "connect": ">= 0.5.0 < 1.0.0". Closes #547
* Removed the long deprecated __EXPRESS_ENV__ support
1.0.7 / 2011-02-07
==================
* Fixed `render()` setting inheritance.
Mounted apps would not inherit "view engine"
1.0.6 / 2011-02-07
==================
* Fixed `view engine` setting bug when period is in dirname
1.0.5 / 2011-02-05
==================
* Added secret to generated app `session()` call
1.0.4 / 2011-02-05
==================
* Added `qs` dependency to _package.json_
* Fixed namespaced `require()`s for latest connect support
1.0.3 / 2011-01-13
==================
* Remove unsafe characters from JSONP callback names [Ryan Grove]
1.0.2 / 2011-01-10
==================
* Removed nested require, using `connect.router`
1.0.1 / 2010-12-29
==================
* Fixed for middleware stacked via `createServer()`
previously the `foo` middleware passed to `createServer(foo)`
would not have access to Express methods such as `res.send()`
or props like `req.query` etc.
1.0.0 / 2010-11-16
==================
* Added; deduce partial object names from the last segment.
For example by default `partial('forum/post', postObject)` will
give you the _post_ object, providing a meaningful default.
* Added http status code string representation to `res.redirect()` body
* Added; `res.redirect()` supporting _text/plain_ and _text/html_ via __Accept__.
* Added `req.is()` to aid in content negotiation
* Added partial local inheritance [suggested by masylum]. Closes #102
providing access to parent template locals.
* Added _-s, --session[s]_ flag to express(1) to add session related middleware
* Added _--template_ flag to express(1) to specify the
template engine to use.
* Added _--css_ flag to express(1) to specify the
stylesheet engine to use (or just plain css by default).
* Added `app.all()` support [thanks aheckmann]
* Added partial direct object support.
You may now `partial('user', user)` providing the "user" local,
vs previously `partial('user', { object: user })`.
* Added _route-separation_ example since many people question ways
to do this with CommonJS modules. Also view the _blog_ example for
an alternative.
* Performance; caching view path derived partial object names
* Fixed partial local inheritance precedence. [reported by Nick Poulden] Closes #454
* Fixed jsonp support; _text/javascript_ as per mailinglist discussion
1.0.0rc4 / 2010-10-14
==================
* Added _NODE_ENV_ support, _EXPRESS_ENV_ is deprecated and will be removed in 1.0.0
* Added route-middleware support (very helpful, see the [docs](http://expressjs.com/guide.html#Route-Middleware))
* Added _jsonp callback_ setting to enable/disable jsonp autowrapping [Dav Glass]
* Added callback query check on response.send to autowrap JSON objects for simple webservice implementations [Dav Glass]
* Added `partial()` support for array-like collections. Closes #434
* Added support for swappable querystring parsers
* Added session usage docs. Closes #443
* Added dynamic helper caching. Closes #439 [suggested by maritz]
* Added authentication example
* Added basic Range support to `res.sendfile()` (and `res.download()` etc)
* Changed; `express(1)` generated app using 2 spaces instead of 4
* Default env to "development" again [aheckmann]
* Removed _context_ option is no more, use "scope"
* Fixed; exposing _./support_ libs to examples so they can run without installs
* Fixed mvc example
1.0.0rc3 / 2010-09-20
==================
* Added confirmation for `express(1)` app generation. Closes #391
* Added extending of flash formatters via `app.flashFormatters`
* Added flash formatter support. Closes #411
* Added streaming support to `res.sendfile()` using `sys.pump()` when >= "stream threshold"
* Added _stream threshold_ setting for `res.sendfile()`
* Added `res.send()` __HEAD__ support
* Added `res.clearCookie()`
* Added `res.cookie()`
* Added `res.render()` headers option
* Added `res.redirect()` response bodies
* Added `res.render()` status option support. Closes #425 [thanks aheckmann]
* Fixed `res.sendfile()` responding with 403 on malicious path
* Fixed `res.download()` bug; when an error occurs remove _Content-Disposition_
* Fixed; mounted apps settings now inherit from parent app [aheckmann]
* Fixed; stripping Content-Length / Content-Type when 204
* Fixed `res.send()` 204. Closes #419
* Fixed multiple _Set-Cookie_ headers via `res.header()`. Closes #402
* Fixed bug messing with error handlers when `listenFD()` is called instead of `listen()`. [thanks guillermo]
1.0.0rc2 / 2010-08-17
==================
* Added `app.register()` for template engine mapping. Closes #390
* Added `res.render()` callback support as second argument (no options)
* Added callback support to `res.download()`
* Added callback support for `res.sendfile()`
* Added support for middleware access via `express.middlewareName()` vs `connect.middlewareName()`
* Added "partials" setting to docs
* Added default expresso tests to `express(1)` generated app. Closes #384
* Fixed `res.sendfile()` error handling, defer via `next()`
* Fixed `res.render()` callback when a layout is used [thanks guillermo]
* Fixed; `make install` creating ~/.node_libraries when not present
* Fixed issue preventing error handlers from being defined anywhere. Closes #387
1.0.0rc / 2010-07-28
==================
* Added mounted hook. Closes #369
* Added connect dependency to _package.json_
* Removed "reload views" setting and support code
development env never caches, production always caches.
* Removed _param_ in route callbacks, signature is now
simply (req, res, next), previously (req, res, params, next).
Use _req.params_ for path captures, _req.query_ for GET params.
* Fixed "home" setting
* Fixed middleware/router precedence issue. Closes #366
* Fixed; _configure()_ callbacks called immediately. Closes #368
1.0.0beta2 / 2010-07-23
==================
* Added more examples
* Added; exporting `Server` constructor
* Added `Server#helpers()` for view locals
* Added `Server#dynamicHelpers()` for dynamic view locals. Closes #349
* Added support for absolute view paths
* Added; _home_ setting defaults to `Server#route` for mounted apps. Closes #363
* Added Guillermo Rauch to the contributor list
* Added support for "as" for non-collection partials. Closes #341
* Fixed _install.sh_, ensuring _~/.node_libraries_ exists. Closes #362 [thanks jf]
* Fixed `res.render()` exceptions, now passed to `next()` when no callback is given [thanks guillermo]
* Fixed instanceof `Array` checks, now `Array.isArray()`
* Fixed express(1) expansion of public dirs. Closes #348
* Fixed middleware precedence. Closes #345
* Fixed view watcher, now async [thanks aheckmann]
1.0.0beta / 2010-07-15
==================
* Re-write
- much faster
- much lighter
- Check [ExpressJS.com](http://expressjs.com) for migration guide and updated docs
0.14.0 / 2010-06-15
==================
* Utilize relative requires
* Added Static bufferSize option [aheckmann]
* Fixed caching of view and partial subdirectories [aheckmann]
* Fixed mime.type() comments now that ".ext" is not supported
* Updated haml submodule
* Updated class submodule
* Removed bin/express
0.13.0 / 2010-06-01
==================
* Added node v0.1.97 compatibility
* Added support for deleting cookies via Request#cookie('key', null)
* Updated haml submodule
* Fixed not-found page, now using using charset utf-8
* Fixed show-exceptions page, now using using charset utf-8
* Fixed view support due to fs.readFile Buffers
* Changed; mime.type() no longer accepts ".type" due to node extname() changes
0.12.0 / 2010-05-22
==================
* Added node v0.1.96 compatibility
* Added view `helpers` export which act as additional local variables
* Updated haml submodule
* Changed ETag; removed inode, modified time only
* Fixed LF to CRLF for setting multiple cookies
* Fixed cookie complation; values are now urlencoded
* Fixed cookies parsing; accepts quoted values and url escaped cookies
0.11.0 / 2010-05-06
==================
* Added support for layouts using different engines
- this.render('page.html.haml', { layout: 'super-cool-layout.html.ejs' })
- this.render('page.html.haml', { layout: 'foo' }) // assumes 'foo.html.haml'
- this.render('page.html.haml', { layout: false }) // no layout
* Updated ext submodule
* Updated haml submodule
* Fixed EJS partial support by passing along the context. Issue #307
0.10.1 / 2010-05-03
==================
* Fixed binary uploads.
0.10.0 / 2010-04-30
==================
* Added charset support via Request#charset (automatically assigned to 'UTF-8' when respond()'s
encoding is set to 'utf8' or 'utf-8'.
* Added "encoding" option to Request#render(). Closes #299
* Added "dump exceptions" setting, which is enabled by default.
* Added simple ejs template engine support
* Added error reponse support for text/plain, application/json. Closes #297
* Added callback function param to Request#error()
* Added Request#sendHead()
* Added Request#stream()
* Added support for Request#respond(304, null) for empty response bodies
* Added ETag support to Request#sendfile()
* Added options to Request#sendfile(), passed to fs.createReadStream()
* Added filename arg to Request#download()
* Performance enhanced due to pre-reversing plugins so that plugins.reverse() is not called on each request
* Performance enhanced by preventing several calls to toLowerCase() in Router#match()
* Changed; Request#sendfile() now streams
* Changed; Renamed Request#halt() to Request#respond(). Closes #289
* Changed; Using sys.inspect() instead of JSON.encode() for error output
* Changed; run() returns the http.Server instance. Closes #298
* Changed; Defaulting Server#host to null (INADDR_ANY)
* Changed; Logger "common" format scale of 0.4f
* Removed Logger "request" format
* Fixed; Catching ENOENT in view caching, preventing error when "views/partials" is not found
* Fixed several issues with http client
* Fixed Logger Content-Length output
* Fixed bug preventing Opera from retaining the generated session id. Closes #292
0.9.0 / 2010-04-14
==================
* Added DSL level error() route support
* Added DSL level notFound() route support
* Added Request#error()
* Added Request#notFound()
* Added Request#render() callback function. Closes #258
* Added "max upload size" setting
* Added "magic" variables to collection partials (\_\_index\_\_, \_\_length\_\_, \_\_isFirst\_\_, \_\_isLast\_\_). Closes #254
* Added [haml.js](http://github.com/visionmedia/haml.js) submodule; removed haml-js
* Added callback function support to Request#halt() as 3rd/4th arg
* Added preprocessing of route param wildcards using param(). Closes #251
* Added view partial support (with collections etc)
* Fixed bug preventing falsey params (such as ?page=0). Closes #286
* Fixed setting of multiple cookies. Closes #199
* Changed; view naming convention is now NAME.TYPE.ENGINE (for example page.html.haml)
* Changed; session cookie is now httpOnly
* Changed; Request is no longer global
* Changed; Event is no longer global
* Changed; "sys" module is no longer global
* Changed; moved Request#download to Static plugin where it belongs
* Changed; Request instance created before body parsing. Closes #262
* Changed; Pre-caching views in memory when "cache view contents" is enabled. Closes #253
* Changed; Pre-caching view partials in memory when "cache view partials" is enabled
* Updated support to node --version 0.1.90
* Updated dependencies
* Removed set("session cookie") in favour of use(Session, { cookie: { ... }})
* Removed utils.mixin(); use Object#mergeDeep()
0.8.0 / 2010-03-19
==================
+22
Ver Arquivo
@@ -0,0 +1,22 @@
(The MIT License)
Copyright (c) 2009-2011 TJ Holowaychuk <tj@vision-media.ca>
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
'Software'), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+37 -24
Ver Arquivo
@@ -1,27 +1,40 @@
NODE = node
COFFEE = coffee
REPORTER = dot
all: test
install: bin/express
install bin/express /usr/local/bin/express
docs: docs/express.md
test:
@$(NODE) spec/node.js all
app: app-chat
app-chat:
@$(NODE) examples/chat/app.js
app-upload:
@$(NODE) examples/upload/app.js
app-coffee-upload: compile-coffee
@$(NODE) examples/coffee-upload/app.js
compile-coffee:
@$(COFFEE) examples/coffee-upload/app.coffee
.PHONY: install test app
docs/express.md: docs/application.md docs/request.md docs/response.md
cat $^ > $@
docs/%.md: lib/%.js
@mkdir -p docs
dox --raw < $< | ./support/docs > $@
check: test
test: test-unit test-acceptance
test-unit:
@NODE_ENV=test ./node_modules/.bin/mocha \
--reporter $(REPORTER) \
--bail
test-acceptance:
@NODE_ENV=test ./node_modules/.bin/mocha \
--reporter $(REPORTER) \
--bail \
test/acceptance/*.js
test-cov: lib-cov
@EXPRESS_COV=1 $(MAKE) test REPORTER=html-cov > coverage.html
lib-cov:
@jscoverage lib lib-cov
docclean:
rm -fr docs
benchmark:
@./support/bench
.PHONY: docs docclean test test-unit test-acceptance benchmark
+148 -91
Ver Arquivo
@@ -1,110 +1,167 @@
# Express
Insanely fast (and small) server-side JavaScript web development framework
built on **node.js** and the **V8 JavaScript engine**.
![express logo](http://f.cl.ly/items/0V2S1n0K1i3y1c122g04/Screen%20Shot%202012-04-11%20at%209.59.42%20AM.png)
* Visit the [Wiki](http://wiki.github.com/visionmedia/express) for documentation
* Visit the [Google Group](http://groups.google.com/group/express-js) for discussion
Fast, unopinionated, minimalist web framework for [node](http://nodejs.org). [![Build Status](https://secure.travis-ci.org/visionmedia/express.png)](http://travis-ci.org/visionmedia/express)
## Features (so far)
```js
var express = require('express');
var app = express();
app.get('/', function(req, res){
res.send('Hello World');
});
app.listen(3000);
```
* Sexy DSL with robust sinatra-like routing
* High performance
* Session support
* Cache API
* RESTful HTTP client
* Mime helpers
* Redirection helpers
* Multipart file upload support
* Test helpers (mock requests etc)
* Environment based configuration
* Light-weight JavaScript class implementation via [class.js](http://github.com/visionmedia/class.js/)
* Persistent flash messages
* Route passing
* View support (ejs, haml, sass, etc)
* Full test coverage
* Logger plugin with several formats
* Extremely readable specs
## Installation
Install the [Kiwi package manager for nodejs](http://github.com/visionmedia/kiwi)
and run:
$ npm install -g express
To install the 3.0 alpha:
$ npm install -g express@3.0
## Quick Start
The quickest way to get started with express is to utilize the executable `express(1)` to generate an application as shown below:
Create the app:
$ npm install -g express
$ express /tmp/foo && cd /tmp/foo
Install dependencies:
$ npm install
Start the server:
$ node app
## Features
* Built on [Connect](http://github.com/senchalabs/connect)
* Robust routing
* HTTP helpers (redirection, caching, etc)
* View system supporting 14+ template engines
* Content negotiation
* Focus on high performance
* Environment based configuration
* Executable for generating applications quickly
* High test coverage
## Philosophy
The Express philosophy is to provide small, robust tooling for HTTP servers. Making
it a great solution for single page applications, web sites, hybrids, or public
HTTP APIs.
$ kiwi -v install express
or
Built on Connect you can use _only_ what you need, and nothing more, applications
can be as big or as small as you like, even a single file. Express does
not force you to use any specific ORM or template engine. With support for over
14 template engines via [Consolidate.js](http://github.com/visionmedia/consolidate.js)
you can quickly craft your perfect framework.
Install via git clone:
$ git clone git://github.com/visionmedia/express.git && cd express && git submodule update --init
## Performance
Extensive performance enhancements have not yet been made,
since we are focusing on the framework it-self at the moment.
However if you are interested view the premature [benchmarks for Express framework](http://vision-media.ca/resources/nodejs/express-nodejs-web-development-framework-performance).
## Examples
Below is a tiny Express application. View the [Wiki](http://wiki.github.com/visionmedia/express/) for detailed information.
require.paths.unshift('express/lib')
require('express')
get('/user', function(){
this.redirect('/user/' + this.currentUser.id)
})
get('/user/:id', function(id){
this.render('user.haml.html', {
locals: {
user: this.currentUser,
usersOnline: Session.store.length()
}
})
})
run()
## Running Tests
Express uses the [JSpec](http://jspec.info) BDD JavaScript testing
framework to write and run elegant spec suites. JSpec is frozen
to spec/lib and **does not** require separate installation.
$ make test
Run individual suites:
$ node spec/node.js core
$ node spec/node.js mime
$ node spec/node.js routing
...
Express is currently being developed with node --version:
v0.1.32
## More Information
* [JavaScript Extensions &amp; Utilities](http://github.com/visionmedia/ext.js)
* [JavaScript Sass](http://github.com/visionmedia/sass.js)
* Featured in [Advanced JavaScript e-book](http://www.dev-mag.com/2010/02/18/advanced-javascript/) for only $4
* Join #express on freenode
* [Google Group](http://groups.google.com/group/express-js) for discussion
* Follow [tjholowaychuk](http://twitter.com/tjholowaychuk) on twitter for updates
* Visit the [Wiki](http://github.com/visionmedia/express/wiki)
* [日本語ドキュメンテーション](http://hideyukisaito.com/doc/expressjs/) by [hideyukisaito](https://github.com/hideyukisaito)
* [Русскоязычная документация](http://express-js.ru/)
## Viewing Examples
First install the dev dependencies to install all the example / test suite deps:
$ cd express
$ npm install
then run whichever tests you want:
$ node examples/content-negotiation
## Running Tests
To run the test suite first invoke the following command within the repo, installing the development dependencies:
$ npm install
then run the tests:
$ make test
## Contributors
* TJ Holowaychuk (visionmedia) &lt;tj@vision-media.ca&gt;
* Aaron Heckmann (aheckmann) &lt;aaron.heckmann+github@gmail.com&gt;
* Ciaran Jessup (ciaranj) &lt;ciaranj@gmail.com&gt;
* Gareth Jones (csausdev) &lt;gareth.jones@sensis.com.au&gt;
```
project: express
commits: 3559
active : 468 days
files : 237
authors:
1891 Tj Holowaychuk 53.1%
1285 visionmedia 36.1%
182 TJ Holowaychuk 5.1%
54 Aaron Heckmann 1.5%
34 csausdev 1.0%
26 ciaranj 0.7%
21 Robert Sköld 0.6%
6 Guillermo Rauch 0.2%
3 Dav Glass 0.1%
3 Nick Poulden 0.1%
2 Randy Merrill 0.1%
2 Benny Wong 0.1%
2 Hunter Loftis 0.1%
2 Jake Gordon 0.1%
2 Brian McKinney 0.1%
2 Roman Shtylman 0.1%
2 Ben Weaver 0.1%
2 Dave Hoover 0.1%
2 Eivind Fjeldstad 0.1%
2 Daniel Shaw 0.1%
1 Matt Colyer 0.0%
1 Pau Ramon 0.0%
1 Pero Pejovic 0.0%
1 Peter Rekdal Sunde 0.0%
1 Raynos 0.0%
1 Teng Siong Ong 0.0%
1 Viktor Kelemen 0.0%
1 ctide 0.0%
1 8bitDesigner 0.0%
1 isaacs 0.0%
1 mgutz 0.0%
1 pikeas 0.0%
1 shuwatto 0.0%
1 tstrimple 0.0%
1 ewoudj 0.0%
1 Adam Sanderson 0.0%
1 Andrii Kostenko 0.0%
1 Andy Hiew 0.0%
1 Arpad Borsos 0.0%
1 Ashwin Purohit 0.0%
1 Benjen 0.0%
1 Darren Torpey 0.0%
1 Greg Ritter 0.0%
1 Gregory Ritter 0.0%
1 James Herdman 0.0%
1 Jim Snodgrass 0.0%
1 Joe McCann 0.0%
1 Jonathan Dumaine 0.0%
1 Jonathan Palardy 0.0%
1 Jonathan Zacsh 0.0%
1 Justin Lilly 0.0%
1 Ken Sato 0.0%
1 Maciej Małecki 0.0%
1 Masahiro Hayashi 0.0%
```
## License
(The MIT License)
Copyright (c) 2009 TJ Holowaychuk &lt;tj@vision-media.ca&gt;
Copyright (c) 2009-2012 TJ Holowaychuk &lt;tj@vision-media.ca&gt;
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
+392 -52
Ver Arquivo
@@ -1,63 +1,403 @@
#!/usr/bin/env node
var arg,
dir = '.',
fs = require('fs'),
sys = require('sys'),
args = process.argv.slice(2)
/**
* Module dependencies.
*/
// Parse arguments
var exec = require('child_process').exec
, program = require('commander')
, mkdirp = require('mkdirp')
, pkg = require('../package.json')
, version = pkg.version
, os = require('os')
, fs = require('fs');
while (arg = args.shift())
switch (arg) {
case '-h':
case '--help':
sys.print('Usage: express [options] [dir]\n')
break
default:
dir = arg
}
// Helpers
// CLI
function confirm(msg, fn) {
sys.print(msg)
process.stdio.open()
process.stdio.addListener('data', function(chunk){
switch (chunk.trim().toLowerCase()) {
case 'yes':
case 'y':
return process.stdio.close(),
fn(true)
case 'no':
case 'n':
return process.stdio.close(),
fn(false)
default:
sys.print(msg)
program
.version(version)
.option('-s, --sessions', 'add session support')
.option('-e, --ejs', 'add ejs engine support (defaults to jade)')
.option('-J, --jshtml', 'add jshtml engine support (defaults to jade)')
.option('-h, --hogan', 'add hogan.js engine support')
.option('-c, --css <engine>', 'add stylesheet <engine> support (less|stylus) (defaults to plain css)')
.option('-f, --force', 'force on non-empty directory')
.parse(process.argv);
// Path
var path = program.args.shift() || '.';
// end-of-line code
var eol = 'win32' == os.platform() ? '\r\n' : '\n'
// Template engine
program.template = 'jade';
if (program.ejs) program.template = 'ejs';
if (program.jshtml) program.template = 'jshtml';
if (program.hogan) program.template = 'hjs';
/**
* Routes index template.
*/
var index = [
''
, '/*'
, ' * GET home page.'
, ' */'
, ''
, 'exports.index = function(req, res){'
, ' res.render(\'index\', { title: \'Express\' });'
, '};'
].join(eol);
/**
* Jade layout template.
*/
var jadeLayout = [
'doctype 5'
, 'html'
, ' head'
, ' title= title'
, ' link(rel=\'stylesheet\', href=\'/stylesheets/style.css\')'
, ' body'
, ' block content'
].join(eol);
/**
* Jade index template.
*/
var jadeIndex = [
'extends layout'
, ''
, 'block content'
, ' h1= title'
, ' p Welcome to #{title}'
].join(eol);
/**
* EJS index template.
*/
var ejsIndex = [
'<!DOCTYPE html>'
, '<html>'
, ' <head>'
, ' <title><%= title %></title>'
, ' <link rel=\'stylesheet\' href=\'/stylesheets/style.css\' />'
, ' </head>'
, ' <body>'
, ' <h1><%= title %></h1>'
, ' <p>Welcome to <%= title %></p>'
, ' </body>'
, '</html>'
].join(eol);
/**
* JSHTML layout template.
*/
var jshtmlLayout = [
'<!DOCTYPE html>'
, '<html>'
, ' <head>'
, ' <title> @write(title) </title>'
, ' <link rel=\'stylesheet\' href=\'/stylesheets/style.css\' />'
, ' </head>'
, ' <body>'
, ' @write(body)'
, ' </body>'
, '</html>'
].join(eol);
/**
* JSHTML index template.
*/
var jshtmlIndex = [
'<h1>@write(title)</h1>'
, '<p>Welcome to @write(title)</p>'
].join(eol);
/**
* Hogan.js index template.
*/
var hoganIndex = [
'<!DOCTYPE html>'
, '<html>'
, ' <head>'
, ' <title>{{ title }}</title>'
, ' <link rel=\'stylesheet\' href=\'/stylesheets/style.css\' />'
, ' </head>'
, ' <body>'
, ' <h1>{{ title }}</h1>'
, ' <p>Welcome to {{ title }}</p>'
, ' </body>'
, '</html>'
].join(eol);
/**
* Default css template.
*/
var css = [
'body {'
, ' padding: 50px;'
, ' font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;'
, '}'
, ''
, 'a {'
, ' color: #00B7FF;'
, '}'
].join(eol);
/**
* Default less template.
*/
var less = [
'body {'
, ' padding: 50px;'
, ' font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;'
, '}'
, ''
, 'a {'
, ' color: #00B7FF;'
, '}'
].join(eol);
/**
* Default stylus template.
*/
var stylus = [
'body'
, ' padding: 50px'
, ' font: 14px "Lucida Grande", Helvetica, Arial, sans-serif'
, 'a'
, ' color: #00B7FF'
].join(eol);
/**
* App template.
*/
var app = [
''
, '/**'
, ' * Module dependencies.'
, ' */'
, ''
, 'var express = require(\'express\')'
, ' , routes = require(\'./routes\')'
, ' , http = require(\'http\');'
, ''
, 'var app = express();'
, ''
, 'app.configure(function(){'
, ' app.set(\'port\', process.env.PORT || 3000);'
, ' app.set(\'views\', __dirname + \'/views\');'
, ' app.set(\'view engine\', \':TEMPLATE\');'
, ' app.use(express.favicon());'
, ' app.use(express.logger(\'dev\'));'
, ' app.use(express.bodyParser());'
, ' app.use(express.methodOverride());{sess}'
, ' app.use(app.router);{css}'
, ' app.use(express.static(__dirname + \'/public\'));'
, '});'
, ''
, 'app.configure(\'development\', function(){'
, ' app.use(express.errorHandler());'
, '});'
, ''
, 'app.get(\'/\', routes.index);'
, ''
, 'http.createServer(app).listen(app.get(\'port\'), function(){'
, ' console.log("Express server listening on port " + app.get(\'port\'));'
, '});'
, ''
].join(eol);
// Generate application
(function createApplication(path) {
emptyDirectory(path, function(empty){
if (empty || program.force) {
createApplicationAt(path);
} else {
program.confirm('destination is not empty, continue? ', function(ok){
if (ok) {
process.stdin.destroy();
createApplicationAt(path);
} else {
abort('aborting');
}
});
}
})
});
})(path);
/**
* Create application at the given directory `path`.
*
* @param {String} path
*/
function createApplicationAt(path) {
console.log();
process.on('exit', function(){
console.log();
console.log(' install dependencies:');
console.log(' $ cd %s && npm install', path);
console.log();
console.log(' run the app:');
console.log(' $ node app');
console.log();
});
mkdir(path, function(){
mkdir(path + '/public');
mkdir(path + '/public/javascripts');
mkdir(path + '/public/images');
mkdir(path + '/public/stylesheets', function(){
switch (program.css) {
case 'less':
write(path + '/public/stylesheets/style.less', less);
break;
case 'stylus':
write(path + '/public/stylesheets/style.styl', stylus);
break;
default:
write(path + '/public/stylesheets/style.css', css);
}
});
mkdir(path + '/routes', function(){
write(path + '/routes/index.js', index);
});
mkdir(path + '/views', function(){
switch (program.template) {
case 'ejs':
write(path + '/views/index.ejs', ejsIndex);
break;
case 'jade':
write(path + '/views/layout.jade', jadeLayout);
write(path + '/views/index.jade', jadeIndex);
break;
case 'jshtml':
write(path + '/views/layout.jshtml', jshtmlLayout);
write(path + '/views/index.jshtml', jshtmlIndex);
break;
case 'hjs':
write(path + '/views/index.hjs', hoganIndex);
break;
}
});
// CSS Engine support
switch (program.css) {
case 'less':
app = app.replace('{css}', eol + ' app.use(require(\'less-middleware\')({ src: __dirname + \'/public\' }));');
break;
case 'stylus':
app = app.replace('{css}', eol + ' app.use(require(\'stylus\').middleware(__dirname + \'/public\'));');
break;
default:
app = app.replace('{css}', '');
}
// Session support
app = app.replace('{sess}', program.sessions
? eol + ' app.use(express.cookieParser(\'your secret here\'));' + eol + ' app.use(express.session());'
: '');
// Template support
app = app.replace(':TEMPLATE', program.template);
// package.json
var pkg = {
name: 'application-name'
, version: '0.0.1'
, private: true
, scripts: { start: 'node app' }
, dependencies: {
express: version
}
}
if (program.template) pkg.dependencies[program.template] = '*';
// CSS Engine support
switch (program.css) {
case 'less':
pkg.dependencies['less-middleware'] = '*';
break;
default:
if (program.css) {
pkg.dependencies[program.css] = '*';
}
}
write(path + '/package.json', JSON.stringify(pkg, null, 2));
write(path + '/app.js', app);
});
}
function createTemplateIn(dir, mode) {
fs.writeFile(dir + '/app.js', '// your app here')
fs.mkdir(dir + '/views', mode)
fs.mkdir(dir + '/public', mode, function(err){
if (err) throw err
fs.mkdir(dir + '/public/javascripts', mode)
fs.mkdir(dir + '/public/stylesheets', mode)
fs.mkdir(dir + '/public/images', mode)
})
/**
* Check if the given directory `path` is empty.
*
* @param {String} path
* @param {Function} fn
*/
function emptyDirectory(path, fn) {
fs.readdir(path, function(err, files){
if (err && 'ENOENT' != err.code) throw err;
fn(!files || !files.length);
});
}
// Setup template
/**
* echo str > path.
*
* @param {String} path
* @param {String} str
*/
fs.readdir(dir, function(err, files){
if (err) throw err
if (files.length)
confirm(dir + ' is not empty, continue? ', function(ok){
if (ok) createTemplateIn(dir, 0666)
})
else
createTemplateIn(dir, 0666)
})
function write(path, str) {
fs.writeFile(path, str);
console.log(' \x1b[36mcreate\x1b[0m : ' + path);
}
/**
* Mkdir -p.
*
* @param {String} path
* @param {Function} fn
*/
function mkdir(path, fn) {
mkdirp(path, 0755, function(err){
if (err) throw err;
console.log(' \033[36mcreate\033[0m : ' + path);
fn && fn();
});
}
/**
* Exit with the given `str`.
*
* @param {String} str
*/
function abort(str) {
console.error(str);
process.exit(1);
}
+25
Ver Arquivo
@@ -0,0 +1,25 @@
var http = require('http');
var times = 50;
while (times--) {
var req = http.request({
port: 3000
, method: 'POST'
, headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
});
req.on('response', function(res){
console.log(res.statusCode);
});
var n = 500000;
while (n--) {
req.write('foo=bar&bar=baz&');
}
req.write('foo=bar&bar=baz');
req.end();
}
+181
Ver Arquivo
@@ -0,0 +1,181 @@
# app
Application prototype.
# app.use()
Proxy `connect#use()` to apply settings to
mounted applications.
# app.engine()
Register the given template engine callback `fn`
as `ext`.
By default will `require()` the engine based on the
file extension. For example if you try to render
a "foo.jade" file Express will invoke the following internally:
app.engine('jade', require('jade').__express);
For engines that do not provide `.__express` out of the box,
or if you wish to "map" a different extension to the template engine
you may use this method. For example mapping the EJS template engine to
".html" files
app.engine('html', require('ejs').renderFile);
In this case EJS provides a `.renderFile()` method with
the same signature that Express expects: `(path, options, callback)`,
though note that it aliases this method as `ejs.__express` internally
so if you're using ".ejs" extensions you dont need to do anything.
Some template engines do not follow this convention, the
[Consolidate.js](https://github.com/visionmedia/consolidate.js)
library was created to map all of node's popular template
engines to follow this convention, thus allowing them to
work seemlessly within Express.
# app.param()
Map the given param placeholder `name`(s) to the given callback(s).
Parameter mapping is used to provide pre-conditions to routes
which use normalized placeholders. For example a _:user_id_ parameter
could automatically load a user's information from the database without
any additional code,
The callback uses the samesignature as middleware, the only differencing
being that the value of the placeholder is passed, in this case the _id_
of the user. Once the `next()` function is invoked, just like middleware
it will continue on to execute the route, or subsequent parameter functions.
app.param('user_id', function(req, res, next, id){
User.find(id, function(err, user){
if (err) {
next(err);
} else if (user) {
req.user = user;
next();
} else {
next(new Error('failed to load user'));
}
});
});
# app.set()
Assign `setting` to `val`, or return `setting`'s value.
app.set('foo', 'bar');
app.get('foo');
// => "bar"
Mounted servers inherit their parent server's settings.
# app.enabled()
Check if `setting` is enabled (truthy).
app.enabled('foo')
// => false
app.enable('foo')
app.enabled('foo')
// => true
# app.disabled()
Check if `setting` is disabled.
app.disabled('foo')
// => true
app.enable('foo')
app.disabled('foo')
// => false
# app.enable()
Enable `setting`.
# app.disable()
Disable `setting`.
# app.configure()
Configure callback for zero or more envs,
when no `env` is specified that callback will
be invoked for all environments. Any combination
can be used multiple times, in any order desired.
## Examples
app.configure(function(){
// executed for all envs
});
app.configure('stage', function(){
// executed staging env
});
app.configure('stage', 'production', function(){
// executed for stage and production
});
## Note
These callbacks are invoked immediately, and
are effectively sugar for the following.
var env = process.env.NODE_ENV || 'development';
switch (env) {
case 'development':
...
break;
case 'stage':
...
break;
case 'production':
...
break;
}
# app.all()
Special-cased "all" method, applying the given route `path`,
middleware, and callback to _every_ HTTP method.
# app.render()
Render the given view `name` name with `options`
and a callback accepting an error and the
rendered template string.
## Example
app.render('email', { name: 'Tobi' }, function(err, html){
// ...
})
# app.listen()
Listen for connections.
A node `http.Server` is returned, with this
application (which is a `Function`) as its
callback. If you wish to create both an HTTP
and HTTPS server you may do so with the "http"
and "https" modules as shown here.
var http = require('http')
, https = require('https')
, express = require('express')
, app = express();
http.createServer(app).listen(80);
http.createServer({ ... }, app).listen(443);
+506
Ver Arquivo
@@ -0,0 +1,506 @@
# app
Application prototype.
# app.use()
Proxy `connect#use()` to apply settings to
mounted applications.
# app.engine()
Register the given template engine callback `fn`
as `ext`.
By default will `require()` the engine based on the
file extension. For example if you try to render
a "foo.jade" file Express will invoke the following internally:
app.engine('jade', require('jade').__express);
For engines that do not provide `.__express` out of the box,
or if you wish to "map" a different extension to the template engine
you may use this method. For example mapping the EJS template engine to
".html" files
app.engine('html', require('ejs').renderFile);
In this case EJS provides a `.renderFile()` method with
the same signature that Express expects: `(path, options, callback)`,
though note that it aliases this method as `ejs.__express` internally
so if you're using ".ejs" extensions you dont need to do anything.
Some template engines do not follow this convention, the
[Consolidate.js](https://github.com/visionmedia/consolidate.js)
library was created to map all of node's popular template
engines to follow this convention, thus allowing them to
work seemlessly within Express.
# app.param()
Map the given param placeholder `name`(s) to the given callback(s).
Parameter mapping is used to provide pre-conditions to routes
which use normalized placeholders. For example a _:user_id_ parameter
could automatically load a user's information from the database without
any additional code,
The callback uses the samesignature as middleware, the only differencing
being that the value of the placeholder is passed, in this case the _id_
of the user. Once the `next()` function is invoked, just like middleware
it will continue on to execute the route, or subsequent parameter functions.
app.param('user_id', function(req, res, next, id){
User.find(id, function(err, user){
if (err) {
next(err);
} else if (user) {
req.user = user;
next();
} else {
next(new Error('failed to load user'));
}
});
});
# app.set()
Assign `setting` to `val`, or return `setting`'s value.
app.set('foo', 'bar');
app.get('foo');
// => "bar"
Mounted servers inherit their parent server's settings.
# app.enabled()
Check if `setting` is enabled (truthy).
app.enabled('foo')
// => false
app.enable('foo')
app.enabled('foo')
// => true
# app.disabled()
Check if `setting` is disabled.
app.disabled('foo')
// => true
app.enable('foo')
app.disabled('foo')
// => false
# app.enable()
Enable `setting`.
# app.disable()
Disable `setting`.
# app.configure()
Configure callback for zero or more envs,
when no `env` is specified that callback will
be invoked for all environments. Any combination
can be used multiple times, in any order desired.
## Examples
app.configure(function(){
// executed for all envs
});
app.configure('stage', function(){
// executed staging env
});
app.configure('stage', 'production', function(){
// executed for stage and production
});
## Note
These callbacks are invoked immediately, and
are effectively sugar for the following.
var env = process.env.NODE_ENV || 'development';
switch (env) {
case 'development':
...
break;
case 'stage':
...
break;
case 'production':
...
break;
}
# app.all()
Special-cased "all" method, applying the given route `path`,
middleware, and callback to _every_ HTTP method.
# app.render()
Render the given view `name` name with `options`
and a callback accepting an error and the
rendered template string.
## Example
app.render('email', { name: 'Tobi' }, function(err, html){
// ...
})
# app.listen()
Listen for connections.
A node `http.Server` is returned, with this
application (which is a `Function`) as its
callback. If you wish to create both an HTTP
and HTTPS server you may do so with the "http"
and "https" modules as shown here.
var http = require('http')
, https = require('https')
, express = require('express')
, app = express();
http.createServer(app).listen(80);
http.createServer({ ... }, app).listen(443);
# req
Request prototype.
# req.get
Return request header.
The `Referrer` header field is special-cased,
both `Referrer` and `Referer` are interchangeable.
## Examples
req.get('Content-Type');
// => "text/plain"
req.get('content-type');
// => "text/plain"
req.get('Something');
// => undefined
Aliased as `req.header()`.
# req.accepts()
Check if the given `type(s)` is acceptable, returning
the best match when true, otherwise `undefined`, in which
case you should respond with 406 "Not Acceptable".
The `type` value may be a single mime type string
such as "application/json", the extension name
such as "json", a comma-delimted list such as "json, html, text/plain",
or an array `["json", "html", "text/plain"]`. When a list
or array is given the _best_ match, if any is returned.
## Examples
// Accept: text/html
req.accepts('html');
// => "html"
// Accept: text/*, application/json
req.accepts('html');
// => "html"
req.accepts('text/html');
// => "text/html"
req.accepts('json, text');
// => "json"
req.accepts('application/json');
// => "application/json"
// Accept: text/*, application/json
req.accepts('image/png');
req.accepts('png');
// => undefined
// Accept: text/*;q=.5, application/json
req.accepts(['html', 'json']);
req.accepts('html, json');
// => "json"
# req.acceptsCharset()
Check if the given `charset` is acceptable,
otherwise you should respond with 406 "Not Acceptable".
# req.acceptsLanguage()
Check if the given `lang` is acceptable,
otherwise you should respond with 406 "Not Acceptable".
# req.param()
Return the value of param `name` when present or `defaultValue`.
- Checks route placeholders, ex: _/user/:id_
- Checks body params, ex: id=12, {"id":12}
- Checks query string params, ex: ?id=12
To utilize request bodies, `req.body`
should be an object. This can be done by using
the `connect.bodyParser()` middleware.
# req.is()
Check if the incoming request contains the "Content-Type"
header field, and it contains the give mime `type`.
## Examples
// With Content-Type: text/html; charset=utf-8
req.is('html');
req.is('text/html');
req.is('text/*');
// => true
// When Content-Type is application/json
req.is('json');
req.is('application/json');
req.is('application/*');
// => true
req.is('html');
// => false
# res
Response prototype.
# res.status()
Set status `code`.
# res.send()
Send a response.
## Examples
res.send(new Buffer('wahoo'));
res.send({ some: 'json' });
res.send('<p>some html</p>');
res.send(404, 'Sorry, cant find that');
res.send(404);
# res.json()
Send JSON response.
## Examples
res.json(null);
res.json({ user: 'tj' });
res.json(500, 'oh noes!');
res.json(404, 'I dont have that');
# res.sendfile()
Transfer the file at the given `path`.
Automatically sets the _Content-Type_ response header field.
The callback `fn(err)` is invoked when the transfer is complete
or when an error occurs. Be sure to check `res.sentHeader`
if you wish to attempt responding, as the header and some data
may have already been transferred.
## Options
- `maxAge` defaulting to 0
- `root` root directory for relative filenames
## Examples
The following example illustrates how `res.sendfile()` may
be used as an alternative for the `static()` middleware for
dynamic situations. The code backing `res.sendfile()` is actually
the same code, so HTTP cache support etc is identical.
app.get('/user/:uid/photos/:file', function(req, res){
var uid = req.params.uid
, file = req.params.file;
req.user.mayViewFilesFrom(uid, function(yes){
if (yes) {
res.sendfile('/uploads/' + uid + '/' + file);
} else {
res.send(403, 'Sorry! you cant see that.');
}
});
});
# res.download()
Transfer the file at the given `path` as an attachment.
Optionally providing an alternate attachment `filename`,
and optional callback `fn(err)`. The callback is invoked
when the data transfer is complete, or when an error has
ocurred. Be sure to check `res.headerSent` if you plan to respond.
This method uses `res.sendfile()`.
# res.format()
Respond to the Acceptable formats using an `obj`
of mime-type callbacks.
This method uses `req.accepted`, an array of
acceptable types ordered by their quality values.
When "Accept" is not present the _first_ callback
is invoked, otherwise the first match is used. When
no match is performed the server responds with
406 "Not Acceptable".
Content-Type is set for you, however if you choose
you may alter this within the callback using `res.type()`
or `res.set('Content-Type', ...)`.
res.format({
'text/plain': function(){
res.send('hey');
},
'text/html': function(){
res.send('<p>hey</p>');
},
'appliation/json': function(){
res.send({ message: 'hey' });
}
});
In addition to canonicalized MIME types you may
also use extnames mapped to these types:
res.format({
text: function(){
res.send('hey');
},
html: function(){
res.send('<p>hey</p>');
},
json: function(){
res.send({ message: 'hey' });
}
});
By default Express passes an `Error`
with a `.status` of 406 to `next(err)`
if a match is not made, however you may
provide an optional callback `fn` to
be invoked instead.
# res.attachment()
Set _Content-Disposition_ header to _attachment_ with optional `filename`.
# res.set
Set header `field` to `val`, or pass
an object of header fields.
## Examples
res.set('Accept', 'application/json');
res.set({ Accept: 'text/plain', 'X-API-Key': 'tobi' });
Aliased as `res.header()`.
# res.get()
Get value for header `field`.
# res.clearCookie()
Clear cookie `name`.
# res.cookie()
Set cookie `name` to `val`, with the given `options`.
## Options
- `maxAge` max-age in milliseconds, converted to `expires`
- `signed` sign the cookie
- `path` defaults to "/"
## Examples
// "Remember Me" for 15 minutes
res.cookie('rememberme', '1', { expires: new Date(Date.now() + 900000), httpOnly: true });
// save as above
res.cookie('rememberme', '1', { maxAge: 900000, httpOnly: true })
# res.redirect()
Redirect to the given `url` with optional response `status`
defaulting to 302.
The given `url` can also be the name of a mapped url, for
example by default express supports "back" which redirects
to the _Referrer_ or _Referer_ headers or "/".
## Examples
res.redirect('/foo/bar');
res.redirect('http://example.com');
res.redirect(301, 'http://example.com');
res.redirect('../login'); // /blog/post/1 -> /blog/login
## Mounting
When an application is mounted, and `res.redirect()`
is given a path that does _not_ lead with "/". For
example suppose a "blog" app is mounted at "/blog",
the following redirect would result in "/blog/login":
res.redirect('login');
While the leading slash would result in a redirect to "/login":
res.redirect('/login');
# res.render()
Render `view` with the given `options` and optional callback `fn`.
When a callback function is given a response will _not_ be made
automatically, otherwise a response of _200_ and _text/html_ is given.
## Options
- `status` Response status code (`res.statusCode`)
- `charset` Set the charset (`res.charset`)
## Reserved locals
- `cache` boolean hinting to the engine it should cache
- `filename` filename of the view being rendered
+107
Ver Arquivo
@@ -0,0 +1,107 @@
# req
Request prototype.
# req.get
Return request header.
The `Referrer` header field is special-cased,
both `Referrer` and `Referer` are interchangeable.
## Examples
req.get('Content-Type');
// => "text/plain"
req.get('content-type');
// => "text/plain"
req.get('Something');
// => undefined
Aliased as `req.header()`.
# req.accepts()
Check if the given `type(s)` is acceptable, returning
the best match when true, otherwise `undefined`, in which
case you should respond with 406 "Not Acceptable".
The `type` value may be a single mime type string
such as "application/json", the extension name
such as "json", a comma-delimted list such as "json, html, text/plain",
or an array `["json", "html", "text/plain"]`. When a list
or array is given the _best_ match, if any is returned.
## Examples
// Accept: text/html
req.accepts('html');
// => "html"
// Accept: text/*, application/json
req.accepts('html');
// => "html"
req.accepts('text/html');
// => "text/html"
req.accepts('json, text');
// => "json"
req.accepts('application/json');
// => "application/json"
// Accept: text/*, application/json
req.accepts('image/png');
req.accepts('png');
// => undefined
// Accept: text/*;q=.5, application/json
req.accepts(['html', 'json']);
req.accepts('html, json');
// => "json"
# req.acceptsCharset()
Check if the given `charset` is acceptable,
otherwise you should respond with 406 "Not Acceptable".
# req.acceptsLanguage()
Check if the given `lang` is acceptable,
otherwise you should respond with 406 "Not Acceptable".
# req.param()
Return the value of param `name` when present or `defaultValue`.
- Checks route placeholders, ex: _/user/:id_
- Checks body params, ex: id=12, {"id":12}
- Checks query string params, ex: ?id=12
To utilize request bodies, `req.body`
should be an object. This can be done by using
the `connect.bodyParser()` middleware.
# req.is()
Check if the incoming request contains the "Content-Type"
header field, and it contains the give mime `type`.
## Examples
// With Content-Type: text/html; charset=utf-8
req.is('html');
req.is('text/html');
req.is('text/*');
// => true
// When Content-Type is application/json
req.is('json');
req.is('application/json');
req.is('application/*');
// => true
req.is('html');
// => false
+218
Ver Arquivo
@@ -0,0 +1,218 @@
# res
Response prototype.
# res.status()
Set status `code`.
# res.send()
Send a response.
## Examples
res.send(new Buffer('wahoo'));
res.send({ some: 'json' });
res.send('<p>some html</p>');
res.send(404, 'Sorry, cant find that');
res.send(404);
# res.json()
Send JSON response.
## Examples
res.json(null);
res.json({ user: 'tj' });
res.json(500, 'oh noes!');
res.json(404, 'I dont have that');
# res.sendfile()
Transfer the file at the given `path`.
Automatically sets the _Content-Type_ response header field.
The callback `fn(err)` is invoked when the transfer is complete
or when an error occurs. Be sure to check `res.sentHeader`
if you wish to attempt responding, as the header and some data
may have already been transferred.
## Options
- `maxAge` defaulting to 0
- `root` root directory for relative filenames
## Examples
The following example illustrates how `res.sendfile()` may
be used as an alternative for the `static()` middleware for
dynamic situations. The code backing `res.sendfile()` is actually
the same code, so HTTP cache support etc is identical.
app.get('/user/:uid/photos/:file', function(req, res){
var uid = req.params.uid
, file = req.params.file;
req.user.mayViewFilesFrom(uid, function(yes){
if (yes) {
res.sendfile('/uploads/' + uid + '/' + file);
} else {
res.send(403, 'Sorry! you cant see that.');
}
});
});
# res.download()
Transfer the file at the given `path` as an attachment.
Optionally providing an alternate attachment `filename`,
and optional callback `fn(err)`. The callback is invoked
when the data transfer is complete, or when an error has
ocurred. Be sure to check `res.headerSent` if you plan to respond.
This method uses `res.sendfile()`.
# res.format()
Respond to the Acceptable formats using an `obj`
of mime-type callbacks.
This method uses `req.accepted`, an array of
acceptable types ordered by their quality values.
When "Accept" is not present the _first_ callback
is invoked, otherwise the first match is used. When
no match is performed the server responds with
406 "Not Acceptable".
Content-Type is set for you, however if you choose
you may alter this within the callback using `res.type()`
or `res.set('Content-Type', ...)`.
res.format({
'text/plain': function(){
res.send('hey');
},
'text/html': function(){
res.send('<p>hey</p>');
},
'appliation/json': function(){
res.send({ message: 'hey' });
}
});
In addition to canonicalized MIME types you may
also use extnames mapped to these types:
res.format({
text: function(){
res.send('hey');
},
html: function(){
res.send('<p>hey</p>');
},
json: function(){
res.send({ message: 'hey' });
}
});
By default Express passes an `Error`
with a `.status` of 406 to `next(err)`
if a match is not made, however you may
provide an optional callback `fn` to
be invoked instead.
# res.attachment()
Set _Content-Disposition_ header to _attachment_ with optional `filename`.
# res.set
Set header `field` to `val`, or pass
an object of header fields.
## Examples
res.set('Accept', 'application/json');
res.set({ Accept: 'text/plain', 'X-API-Key': 'tobi' });
Aliased as `res.header()`.
# res.get()
Get value for header `field`.
# res.clearCookie()
Clear cookie `name`.
# res.cookie()
Set cookie `name` to `val`, with the given `options`.
## Options
- `maxAge` max-age in milliseconds, converted to `expires`
- `signed` sign the cookie
- `path` defaults to "/"
## Examples
// "Remember Me" for 15 minutes
res.cookie('rememberme', '1', { expires: new Date(Date.now() + 900000), httpOnly: true });
// save as above
res.cookie('rememberme', '1', { maxAge: 900000, httpOnly: true })
# res.redirect()
Redirect to the given `url` with optional response `status`
defaulting to 302.
The given `url` can also be the name of a mapped url, for
example by default express supports "back" which redirects
to the _Referrer_ or _Referer_ headers or "/".
## Examples
res.redirect('/foo/bar');
res.redirect('http://example.com');
res.redirect(301, 'http://example.com');
res.redirect('../login'); // /blog/post/1 -> /blog/login
## Mounting
When an application is mounted, and `res.redirect()`
is given a path that does _not_ lead with "/". For
example suppose a "blog" app is mounted at "/blog",
the following redirect would result in "/blog/login":
res.redirect('login');
While the leading slash would result in a redirect to "/login":
res.redirect('/login');
# res.render()
Render `view` with the given `options` and optional callback `fn`.
When a callback function is given a response will _not_ be made
automatically, otherwise a response of _200_ and _text/html_ is given.
## Options
- `status` Response status code (`res.statusCode`)
- `charset` Set the charset (`res.charset`)
## Reserved locals
- `cache` boolean hinting to the engine it should cache
- `filename` filename of the view being rendered
+121
Ver Arquivo
@@ -0,0 +1,121 @@
/**
* Module dependencies.
*/
var express = require('../../lib/express')
, hash = require('./pass').hash;
var app = module.exports = express();
app.use(express.bodyParser());
app.use(express.cookieParser('shhhh, very secret'));
app.use(express.session());
app.set('view engine', 'ejs');
app.set('views', __dirname + '/views');
// Session-persisted message middleware
app.locals.use(function(req,res){
var err = req.session.error
, msg = req.session.success;
delete req.session.error;
delete req.session.success;
res.locals.message = '';
if (err) res.locals.message = '<p class="msg error">' + err + '</p>';
if (msg) res.locals.message = '<p class="msg success">' + msg + '</p>';
})
// dummy database
var users = {
tj: { name: 'tj' }
};
// when you create a user, generate a salt
// and hash the password ('foobar' is the pass here)
hash('foobar', function(err, salt, hash){
if (err) throw err;
// store the salt & hash in the "db"
users.tj.salt = salt;
users.tj.hash = hash;
});
// Authenticate using our plain-object database of doom!
function authenticate(name, pass, fn) {
if (!module.parent) console.log('authenticating %s:%s', name, pass);
var user = users[name];
// query the db for the given username
if (!user) return fn(new Error('cannot find user'));
// apply the same algorithm to the POSTed password, applying
// the hash against the pass / salt, if there is a match we
// found the user
hash(pass, user.salt, function(err, hash){
if (err) return fn(err);
if (hash == user.hash) return fn(null, user);
fn(new Error('invalid password'));
})
}
function restrict(req, res, next) {
if (req.session.user) {
next();
} else {
req.session.error = 'Access denied!';
res.redirect('/login');
}
}
app.get('/', function(req, res){
res.redirect('login');
});
app.get('/restricted', restrict, function(req, res){
res.send('Wahoo! restricted area');
});
app.get('/logout', function(req, res){
// destroy the user's session to log them out
// will be re-created next request
req.session.destroy(function(){
res.redirect('/');
});
});
app.get('/login', function(req, res){
if (req.session.user) {
req.session.success = 'Authenticated as ' + req.session.user.name
+ ' click to <a href="/logout">logout</a>. '
+ ' You may now access <a href="/restricted">/restricted</a>.';
}
res.render('login');
});
app.post('/login', function(req, res){
authenticate(req.body.username, req.body.password, function(err, user){
if (user) {
// Regenerate session when signing in
// to prevent fixation
req.session.regenerate(function(){
// Store the user's primary key
// in the session store to be retrieved,
// or in this case the entire user object
req.session.user = user;
res.redirect('back');
});
} else {
req.session.error = 'Authentication failed, please check your '
+ ' username and password.'
+ ' (use "tj" and "foobar")';
res.redirect('login');
}
});
});
if (!module.parent) {
app.listen(3000);
console.log('Express started on port 3000');
}
+46
Ver Arquivo
@@ -0,0 +1,46 @@
// check out https://github.com/visionmedia/node-pwd
/**
* Module dependencies.
*/
var crypto = require('crypto');
/**
* Bytesize.
*/
var len = 128;
/**
* Iterations. ~300ms
*/
var iterations = 12000;
/**
* Hashes a password with optional `salt`, otherwise
* generate a salt for `pass` and invoke `fn(err, salt, hash)`.
*
* @param {String} password to hash
* @param {String} optional salt
* @param {Function} callback
* @api public
*/
exports.hash = function (pwd, salt, fn) {
if (3 == arguments.length) {
crypto.pbkdf2(pwd, salt, iterations, len, fn);
} else {
fn = salt;
crypto.randomBytes(len, function(err, salt){
if (err) return fn(err);
salt = salt.toString('base64');
crypto.pbkdf2(pwd, salt, iterations, len, function(err, hash){
if (err) return fn(err);
fn(null, salt, hash);
});
});
}
};
+21
Ver Arquivo
@@ -0,0 +1,21 @@
<!DOCTYPE html>
<html>
<head>
<title>Authentication Example</title>
<style>
body {
padding: 50px;
font: 13px Helvetica, Arial, sans-serif;
}
.error {
color: red
}
.success {
color: green;
}
</style>
</head>
<body>
<%- body %>
</body>
</html>
+16
Ver Arquivo
@@ -0,0 +1,16 @@
<h1>Login</h1>
<%- message %>
Try accessing <a href="/restricted">/restricted</a>, then authenticate with "tj" and "foobar".
<form method="post" action="/login">
<p>
<label>Username:</label>
<input type="text" name="username">
</p>
<p>
<label>Password:</label>
<input type="text" name="password">
</p>
<p>
<input type="submit" value="Login">
</p>
</form>
+24
Ver Arquivo
@@ -0,0 +1,24 @@
var express = require('../..')
, app = express();
app.set('views', __dirname);
app.set('view engine', 'jade');
var pets = [];
var n = 1000;
while (n--) {
pets.push({ name: 'Tobi', age: 2, species: 'ferret' });
pets.push({ name: 'Loki', age: 1, species: 'ferret' });
pets.push({ name: 'Jane', age: 6, species: 'ferret' });
}
app.use(express.logger('dev'));
app.get('/', function(req, res){
res.render('pets', { pets: pets });
});
app.listen(3000);
console.log('Express listening on port 3000');
+12
Ver Arquivo
@@ -0,0 +1,12 @@
style
body {
padding: 50px;
font: 16px "Helvetica Neue", Helvetica;
}
table
for pet in pets
tr
td= pet.name
td= pet.age
td= pet.species
-79
Ver Arquivo
@@ -1,79 +0,0 @@
require.paths.unshift('lib')
require('express')
require('express/plugins')
var messages = [],
utils = require('express/utils')
configure(function(){
use(MethodOverride)
use(ContentLength)
use(Cookie)
use(Cache, { lifetime: (5).minutes, reapInterval: (1).minute })
use(Session, { lifetime: (15).minutes, reapInterval: (1).minute })
use(Static)
use(Logger)
set('root', __dirname)
})
get('/', function(){
this.pass('/chat')
})
get('/chat', function(){
var self = this
Session.store.length(function(err, len){
self.render('chat.haml.html', {
locals: {
title: 'Chat',
messages: messages,
name: self.session.name,
usersOnline: len
}
})
})
})
post('/chat', function(){
this.session.name = this.param('name')
messages
.push(utils.escape(this.param('name')) + ': ' + utils.escape(this.param('message'))
.replace(/(http:\/\/[^\s]+)/g, '<a href="$1" target="express-chat">$1</a>')
.replace(/:\)/g, '<img src="http://icons3.iconfinder.netdna-cdn.com/data/icons/ledicons/emoticon_smile.png">'))
this.halt(200)
})
get('/chat/messages', function(){
var self = this,
previousLength = messages.length,
timer = setInterval(function(){
if (messages.length > previousLength)
self.contentType('json'),
previousLength = messages.length,
self.halt(200, JSON.encode(messages)),
clearInterval(timer)
}, 100)
})
get('/*.css', function(file){
this.render(file + '.sass.css', { layout: false })
})
get('/error/view', function(){
this.render('does.not.exist')
})
get('/error', function(){
throw new Error('oh noes!')
})
get('/simple', function(){
return 'Hello :)'
})
get('/favicon.ico', function(){
this.halt()
})
run()
Arquivo binário não exibido.

Antes

Largura:  |  Altura:  |  Tamanho: 5.2 KiB

-28
Ver Arquivo
@@ -1,28 +0,0 @@
$(function(){
// Send message
$('form').submit(function(){
var message = $('input[name=message]'),
name = $('input[name=name]')
if (message.val())
$.post('/chat', { name: name.val(), message: message.val() }, function(){
message.val('')
})
else
message.css('border', '1px solid red')
return false
})
// Longpoll
;(function poll(){
$.getJSON('/chat/messages', function(messages){
$('#messages').empty()
$.each(messages, function(i, msg){
$('#messages')
.append('<li>' + msg + '</li>')
.get(0).scrollTop = $('#messages').get(0).scrollHeight
})
poll()
})
})()
})
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
-10
Ver Arquivo
@@ -1,10 +0,0 @@
%h1 Chat
%img.bubble{ src: '/public/images/bubble.png' }
%ul#messages
:each msg in messages
%li= msg
%form{ method: 'post' }
%input{ type: 'hidden', name: '_method', value: 'put' }
%input{ type: 'text', name: 'name', value: name || 'guest' }
%input{ type: 'text', name: 'message' }
%input{ type: 'submit', value: 'Send' }
-11
Ver Arquivo
@@ -1,11 +0,0 @@
%html
%head
%title= title
%script{ src: '/public/javascripts/jquery.js' }
%script{ src: '/public/javascripts/app.js' }
%link{ rel: 'stylesheet', href: '/style.css' }
%body
#wrapper= body
#online
Online:
%strong= usersOnline
-81
Ver Arquivo
@@ -1,81 +0,0 @@
body
:font-family "Helvetica Neue", "Lucida Grande", "Arial"
:font-size 13px
:text-align center
=text-stroke 1px rgba(255, 255, 255, 0.1)
:color #555
h1, h2
:margin 0
:font-size 22px
:color #343434
h1
:text-shadow 1px 2px 2px #ddd
:font-size 60px
img.bubble
:position absolute
:top -25px
:left 120px
#wrapper
:position relative
:margin 100px auto
:width 500px
:text-align left
ul
:margin 0
:padding 0
:max-height 300px
:overflow-x hidden
li
:margin 5px 0
:padding 3px 8px
:list-style none
:border 1px solid #eee
=border-radius 3px
=border-radius 3px
li:hover
:cursor pointer
:color #2E2E2E
input[type=text]
:padding 5px
:border 1px solid #ddd
:outline none
=border-radius 2px
input[type=text]:focus
:border-color #00C3FF
input[type=submit]
=border-radius 2px
=box-shadow 0 1px 2px #ddd
:padding 6px 10px
:border solid 1px #999
:background -webkit-gradient(linear, 0% 0%, 0% 100%, from(#fff), to(#ddd))
:color #333
:text-decoration none
:cursor pointer
:display inline-block
:text-align center
:text-shadow 0px 1px 1px #fff
:line-height 1
input[type=submit]:hover
:background -webkit-gradient(linear, 0% 0%, 0% 100%, from(#fff), to(#E6E4E4))
input[type=submit]:active
:background -webkit-gradient(linear, 0% 0%, 0% 100%, from(#fff), to(#c7c7c7))
input[name=name]
:width 80px
a
:color #1ABFF1
=transition-property padding
=transition-duration 0.15s
a:hover
:padding 0 5px
a:hover:before
:content 'visit: '
#online
:font-size 12px
-35
Ver Arquivo
@@ -1,35 +0,0 @@
require.paths.unshift 'lib'
require 'express'
require 'express/plugins'
configure ->
use MethodOverride
use ContentLength
use Cookie
use Session
use Flash
use Logger
use Static
set 'root', __dirname
get '/', ->
@redirect('/upload')
get '/upload', ->
@render 'upload.haml.html', {
locals: {
flashes: @flash 'info'
}
}
post '/upload', ->
@param('images').each (image) =>
puts image.filename + ' -> ' + image.tempfile
@flash 'info', 'Uploaded ' + image.filename
@redirect '/upload'
get '/*.css', (file) ->
@render file + '.sass.css', { layout: no }
run()
Diff do arquivo suprimido porque uma ou mais linhas são muito longas
@@ -1,14 +0,0 @@
%html
%head
%title Upload
%script{ src: '/public/javascripts/jquery.js' }
%script{ src: '/public/javascripts/app.js' }
%link{ rel: 'stylesheet', href: '/style.css' }
%body
#wrapper
%h1 Upload
:if flashes
%ul.messages.info
:each msg in flashes
%li= msg
.body= body
-68
Ver Arquivo
@@ -1,68 +0,0 @@
body
:font-family "Helvetica Neue", "Lucida Grande", "Arial"
:font-size 13px
:text-align center
:-webkit-text-stroke 1px rgba(255, 255, 255, 0.1)
:color #555
h1, h2
:margin 0 0 15px 0
:font-size 22px
:color #343434
h1
:text-shadow 1px 2px 2px #ddd
:font-size 60px
h2
:margin-top 15px
#wrapper
:position relative
:margin 100px auto
:width 500px
:text-align left
input[type=file]
:padding 5px
:border 1px solid #ddd
:outline none
:-webkit-border-radius 2px
:-moz-border-radius 2px
input[type=file]:focus
:border-color #00C3FF
input[type=submit]
:-webkit-border-radius 2px
:-moz-border-radius 2px
:-webkit-box-shadow 0 1px 2px #ddd
:-moz-box-shadow 0 1px 2px #ddd
:padding 6px 10px
:border solid 1px #999
:background -webkit-gradient(linear, 0% 0%, 0% 100%, from(#fff), to(#ddd))
:color #333
:text-decoration none
:cursor pointer
:display inline-block
:text-align center
:text-shadow 0px 1px 1px #fff
:line-height 1
input[type=submit]:hover
:background -webkit-gradient(linear, 0% 0%, 0% 100%, from(#fff), to(#E6E4E4))
input[type=submit]:active
:background -webkit-gradient(linear, 0% 0%, 0% 100%, from(#fff), to(#c7c7c7))
input[name=name]
:width 80px
form
.panel
:float left
:width 100%
:margin-bottom 15px
.messages
:margin 0
:padding 0
:border 1px solid #eee
=box-shadow 2px 2px 5px #eee
li
:padding 5px 10px
:list-style none
@@ -1,18 +0,0 @@
:if typeof images !== 'undefined'
.images
:each img in images
%img{ src: img }
%h2 Singles
%form{ method: 'post', enctype: 'multipart/form-data' }
%input{ type: 'file', name: 'images[0]' }
%input{ type: 'file', name: 'images[1]' }
%input{ type: 'file', name: 'images[2]' }
.panel
%input{ type: 'submit', value: 'Upload' }
%h2 Multiple
%form{ method: 'post', enctype: 'multipart/form-data' }
%input{ type: 'file', name: 'images[]', multiple: 'multiple' }
.panel
%input{ type: 'submit', value: 'Upload' }
+8
Ver Arquivo
@@ -0,0 +1,8 @@
var users = [];
users.push({ name: 'Tobi' });
users.push({ name: 'Loki' });
users.push({ name: 'Jane' });
module.exports = users;
+41
Ver Arquivo
@@ -0,0 +1,41 @@
var express = require('../../')
, app = module.exports = express()
, users = require('./db');
app.get('/', function(req, res){
res.format({
html: function(){
res.send('<ul>' + users.map(function(user){
return '<li>' + user.name + '</li>';
}).join('') + '</ul>');
},
text: function(){
res.send(users.map(function(user){
return ' - ' + user.name + '\n';
}).join(''));
},
json: function(){
res.json(users);
}
})
});
// or you could write a tiny middleware like
// this to abstract make things a bit more declarative:
function format(mod) {
var obj = require(mod);
return function(req, res){
res.format(obj);
}
}
app.get('/users', format('./users'));
if (!module.parent) {
app.listen(3000);
console.log('listening on port 3000');
}
+18
Ver Arquivo
@@ -0,0 +1,18 @@
var users = require('./db');
exports.html = function(req, res){
res.send('<ul>' + users.map(function(user){
return '<li>' + user.name + '</li>';
}).join('') + '</ul>');
};
exports.text = function(req, res){
res.send(users.map(function(user){
return ' - ' + user.name + '\n';
}).join(''));
};
exports.json = function(req, res){
res.json(users);
};
+32
Ver Arquivo
@@ -0,0 +1,32 @@
/**
* Module dependencies.
*/
var express = require('../../');
var app = module.exports = express();
// ignore GET /favicon.ico
app.use(express.favicon());
// pass a secret to cookieParser() for signed cookies
app.use(express.cookieParser('manny is cool'));
// add req.session cookie support
app.use(express.cookieSession());
// do something with the session
app.use(count);
// custom middleware
function count(req, res) {
req.session.count = req.session.count || 0;
var n = req.session.count++;
res.send('viewed ' + n + ' times\n');
}
if (!module.parent) {
app.listen(3000);
console.log('Express server listening on port 3000');
}
+54
Ver Arquivo
@@ -0,0 +1,54 @@
/**
* Module dependencies.
*/
var express = require('../../')
, app = module.exports = express();
// add favicon() before logger() so
// GET /favicon.ico requests are not
// logged, because this middleware
// reponds to /favicon.ico and does not
// call next()
app.use(express.favicon());
// custom log format
if ('test' != process.env.NODE_ENV)
app.use(express.logger(':method :url'));
// parses request cookies, populating
// req.cookies and req.signedCookies
// when the secret is passed, used
// for signing the cookies.
app.use(express.cookieParser('my secret here'));
// parses json, x-www-form-urlencoded, and multipart/form-data
app.use(express.bodyParser());
app.get('/', function(req, res){
if (req.cookies.remember) {
res.send('Remembered :). Click to <a href="/forget">forget</a>!.');
} else {
res.send('<form method="post"><p>Check to <label>'
+ '<input type="checkbox" name="remember"/> remember me</label> '
+ '<input type="submit" value="Submit"/>.</p></form>');
}
});
app.get('/forget', function(req, res){
res.clearCookie('remember');
res.redirect('back');
});
app.post('/', function(req, res){
var minute = 60000;
if (req.body.remember) res.cookie('remember', 1, { maxAge: minute });
res.redirect('back');
});
if (!module.parent){
app.listen(3000);
console.log('Express started on port 3000');
}
+44
Ver Arquivo
@@ -0,0 +1,44 @@
/**
* Module dependencies.
*/
var express = require('../../')
, app = module.exports = express();
app.get('/', function(req, res){
res.send('<ul>'
+ '<li>Download <a href="/files/amazing.txt">amazing.txt</a>.</li>'
+ '<li>Download <a href="/files/missing.txt">missing.txt</a>.</li>'
+ '</ul>');
});
// /files/* is accessed via req.params[0]
// but here we name it :file
app.get('/files/:file(*)', function(req, res, next){
var file = req.params.file
, path = __dirname + '/files/' + file;
res.download(path);
});
// error handling middleware. Because it's
// below our routes, you will be able to
// "intercept" errors, otherwise Connect
// will respond with 500 "Internal Server Error".
app.use(function(err, req, res, next){
// special-case 404s,
// remember you could
// render a 404 template here
if (404 == err.status) {
res.statusCode = 404;
res.send('Cant find that file, sorry!');
} else {
next(err);
}
});
if (!module.parent) {
app.listen(3000);
console.log('Express started on port 3000');
}
+1
Ver Arquivo
@@ -0,0 +1 @@
what an amazing download
+46
Ver Arquivo
@@ -0,0 +1,46 @@
/**
* Module dependencies.
*/
var express = require('../../');
var app = module.exports = express();
// Register ejs as .html. If we did
// not call this, we would need to
// name our views foo.ejs instead
// of foo.html. The __express method
// is simply a function that engines
// use to hook into the Express view
// system by default, so if we want
// to change "foo.ejs" to "foo.html"
// we simply pass _any_ function, in this
// case `ejs.__express`.
app.engine('.html', require('ejs').__express);
// Optional since express defaults to CWD/views
app.set('views', __dirname + '/views');
// Without this you would need to
// supply the extension to res.render()
// ex: res.render('users.html').
app.set('view engine', 'html');
// Dummy users
var users = [
{ name: 'tobi', email: 'tobi@learnboost.com' }
, { name: 'loki', email: 'loki@learnboost.com' }
, { name: 'jane', email: 'jane@learnboost.com' }
];
app.get('/', function(req, res){
res.render('users', { users: users });
});
if (!module.parent) {
app.listen(3000);
console.log('Express app started on port 3000');
}
+6
Ver Arquivo
@@ -0,0 +1,6 @@
<h1>Users</h1>
<ul id="users">
<% users.forEach(function(user){ %>
<li><%= user.name %> <%= user.email %></li>
<% }) %>
</ul>
+95
Ver Arquivo
@@ -0,0 +1,95 @@
/**
* Module dependencies.
*/
var express = require('../../')
, app = module.exports = express()
, silent = 'test' == process.env.NODE_ENV;
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
silent || app.use(express.logger('dev'));
// "app.router" positions our routes
// above the middleware defined below,
// this means that Express will attempt
// to match & call routes _before_ continuing
// on, at which point we assume it's a 404 because
// no route has handled the request.
app.use(app.router);
// Since this is the last non-error-handling
// middleware use()d, we assume 404, as nothing else
// responded.
// $ curl http://localhost:3000/notfound
// $ curl http://localhost:3000/notfound -H "Accept: application/json"
// $ curl http://localhost:3000/notfound -H "Accept: text/plain"
app.use(function(req, res, next){
// respond with html page
if (req.accepts('html')) {
res.status(404);
res.render('404', { url: req.url });
return;
}
// respond with json
if (req.accepts('json')) {
res.send({ error: 'Not found' });
return;
}
// default to plain-text. send()
res.type('txt').send('Not found');
});
// error-handling middleware, take the same form
// as regular middleware, however they require an
// arity of 4, aka the signature (err, req, res, next).
// when connect has an error, it will invoke ONLY error-handling
// middleware.
// If we were to next() here any remaining non-error-handling
// middleware would then be executed, or if we next(err) to
// continue passing the error, only error-handling middleware
// would remain being executed, however here
// we simply respond with an error page.
app.use(function(err, req, res, next){
// we may use properties of the error object
// here and next(err) appropriately, or if
// we possibly recovered from the error, simply next().
res.status(err.status || 500);
res.render('500', { error: err });
});
// Routes
app.get('/', function(req, res){
res.render('index.jade');
});
app.get('/404', function(req, res, next){
next();
});
app.get('/403', function(req, res, next){
var err = new Error('not allowed!');
err.status = 403;
next(err);
});
app.get('/500', function(req, res, next){
next(new Error('keyboard cat!'));
});
if (!module.parent) {
app.listen(3000);
silent || console.log('Express started on port 3000');
}
+5
Ver Arquivo
@@ -0,0 +1,5 @@
extends error
block content
h2 Cannot find #{url}
+10
Ver Arquivo
@@ -0,0 +1,10 @@
// note that we extend a different
// layout with jade for 4xx & 5xx
// responses
extends error
block content
h1 Error: #{error.message}
pre= error.stack
+6
Ver Arquivo
@@ -0,0 +1,6 @@
html
head
title Error
body
h1 An error occurred!
block content
+15
Ver Arquivo
@@ -0,0 +1,15 @@
extends layout
block content
h2 Pages Example
ul
li
| visit
a(href="/500") 500
li
| visit
a(href="/404") 404
li
| visit
a(href='/403') 403
+6
Ver Arquivo
@@ -0,0 +1,6 @@
html
head
title Custom Pages Example
body
h1 My Site
block content
+48
Ver Arquivo
@@ -0,0 +1,48 @@
/**
* Module dependencies.
*/
var express = require('../../')
, app = module.exports = express()
, test = app.get('env') == 'test';
if (!test) app.use(express.logger('dev'));
app.use(app.router);
// the error handler is strategically
// placed *below* the app.router; if it
// were above it would not receive errors
// from app.get() etc
app.use(error);
// error handling middleware have an arity of 4
// instead of the typical (req, res, next),
// otherwise they behave exactly like regular
// middleware, you may have several of them,
// in different orders etc.
function error(err, req, res, next) {
// log it
if (!test) console.error(err.stack);
// respond with 500 "Internal Server Error".
res.send(500);
}
app.get('/', function(req, res){
// Caught and passed down to the errorHandler middleware
throw new Error('something broke!');
});
app.get('/next', function(req, res, next){
// We can also pass exceptions to next()
process.nextTick(function(){
next(new Error('oh no!'));
});
});
if (!module.parent) {
app.listen(3000);
console.log('Express started on port 3000');
}
+68
Ver Arquivo
@@ -0,0 +1,68 @@
var express = require('../..')
, app = express();
app.set('view engine', 'jade');
app.set('views', __dirname + '/views');
function User(name) {
this.private = 'heyyyy';
this.secret = 'something';
this.name = name;
this.id = 123;
}
// You'll probably want to do
// something like this so you
// dont expose "secret" data.
User.prototype.toJSON = function(){
return {
id: this.id,
name: this.name
}
};
app.use(express.logger('dev'));
// earlier on expose an object
// that we can tack properties on.
// all res.locals props are exposed
// to the templates, so "expose" will
// be present.
app.use(function(req, res, next){
res.locals.expose = {};
// you could alias this as req or res.expose
// to make it shorter and less annoying
next();
});
// pretend we loaded a user
app.use(function(req, res, next){
req.user = new User('Tobi');
next();
});
// if you wanted to _always_ expose
// the user you might do something like this:
/*
app.locals.use(function(req, res){
if (req.user) res.locals.expose.user = req.user;
})
*/
app.get('/', function(req, res){
res.redirect('/user');
});
app.get('/user', function(req, res){
// we only want to expose the user
// to the client for this route:
res.locals.expose.user = req.user;
res.render('page');
});
app.listen(3000);
console.log('app listening on port 3000');
@@ -0,0 +1,14 @@
html
head
title Express
script
// call this whatever you like,
// or dump them into individual
// props like "var user ="
var data = !{JSON.stringify(expose)}
body
h1 Expose client data
p The following was exposed to the client:
pre
script
document.write(JSON.stringify(data, null, 2))
+11
Ver Arquivo
@@ -0,0 +1,11 @@
var express = require('../../');
var app = express();
app.get('/', function(req, res){
res.send('Hello World');
});
app.listen(3000);
console.log('Express started on port 3000');
+46
Ver Arquivo
@@ -0,0 +1,46 @@
/**
* Module dependencies.
*/
var express = require('../../lib/express');
// Path to our public directory
var pub = __dirname + '/public';
// Auto-compile sass to css with "compiler"
// and then serve with connect's staticProvider
var app = express.createServer();
app.use(app.router);
app.use(express.static(pub));
app.use(express.errorHandler());
// Optional since express defaults to CWD/views
app.set('views', __dirname + '/views');
// Set our default template engine to "jade"
// which prevents the need for extensions
// (although you can still mix and match)
app.set('view engine', 'jade');
function User(name, email) {
this.name = name;
this.email = email;
}
// Dummy users
var users = [
new User('tj', 'tj@vision-media.ca')
, new User('ciaran', 'ciaranj@gmail.com')
, new User('aaron', 'aaron.heckmann+github@gmail.com')
];
app.get('/', function(req, res){
res.render('users', { users: users });
});
app.listen(3000);
console.log('Express app started on port 3000');
+3
Ver Arquivo
@@ -0,0 +1,3 @@
body {
padding: 50px 80px;
font: 14px "Helvetica Nueue", "Lucida Grande", Arial, sans-serif;}
+3
Ver Arquivo
@@ -0,0 +1,3 @@
head
title Jade Example
link(rel="stylesheet", href="/stylesheets/style.css")
+5
Ver Arquivo
@@ -0,0 +1,5 @@
!!! 5
html
include header
body
block content
+8
Ver Arquivo
@@ -0,0 +1,8 @@
extends ../layout
block content
h1 Users
#users
for user in users
include user
+3
Ver Arquivo
@@ -0,0 +1,3 @@
.user
h2= user.name
.email= user.email
+45
Ver Arquivo
@@ -0,0 +1,45 @@
/**
* Module dependencies.
*/
var express = require('../../')
, fs = require('fs')
, md = require('github-flavored-markdown').parse;
var app = module.exports = express();
// register .md as an engine in express view system
app.engine('md', function(path, options, fn){
fs.readFile(path, 'utf8', function(err, str){
if (err) return fn(err);
try {
var html = md(str);
html = html.replace(/\{([^}]+)\}/g, function(_, name){
return options[name] || '';
})
fn(null, html);
} catch(err) {
fn(err);
}
});
})
app.set('views', __dirname + '/views');
// make it the default so we dont need .md
app.set('view engine', 'md');
app.get('/', function(req, res){
res.render('index', { title: 'Markdown Example' });
})
app.get('/fail', function(req, res){
res.render('missing', { title: 'Markdown Example' });
})
if (!module.parent) {
app.listen(3000);
console.log('Express started on port 3000');
}
+4
Ver Arquivo
@@ -0,0 +1,4 @@
# {title}
Just an example view rendered with _markdown_.
+36
Ver Arquivo
@@ -0,0 +1,36 @@
/**
* Module dependencies.
*/
var express = require('../../')
, format = require('util').format;
var app = module.exports = express()
// bodyParser in connect 2.x uses node-formidable to parse
// the multipart form data.
app.use(express.bodyParser())
app.get('/', function(req, res){
res.send('<form method="post" enctype="multipart/form-data">'
+ '<p>Title: <input type="text" name="title" /></p>'
+ '<p>Image: <input type="file" name="image" /></p>'
+ '<p><input type="submit" value="Upload" /></p>'
+ '</form>');
});
app.post('/', function(req, res, next){
// the uploaded file can be found as `req.files.image` and the
// title field as `req.body.title`
res.send(format('\nuploaded %s (%d Kb) to %s as %s'
, req.files.image.name
, req.files.image.size / 1024 | 0
, req.files.image.path
, req.body.title));
});
if (!module.parent) {
app.listen(3000);
console.log('Express started on port 3000');
}
+4
Ver Arquivo
@@ -0,0 +1,4 @@
exports.index = function(req, res){
res.redirect('/users');
};
+26
Ver Arquivo
@@ -0,0 +1,26 @@
var db = require('../../db');
exports.engine = 'jade';
exports.before = function(req, res, next){
var pet = db.pets[req.params.pet_id];
if (!pet) return next(new Error('Pet not found'));
req.pet = pet;
next();
};
exports.show = function(req, res, next){
res.render('show', { pet: req.pet });
};
exports.edit = function(req, res, next){
res.render('edit', { pet: req.pet });
};
exports.update = function(req, res, next){
var body = req.body;
req.pet.name = body.user.name;
res.message('Information updated!');
res.redirect('/pet/' + req.pet.id);
};
@@ -0,0 +1,7 @@
link(rel='stylesheet', href='/style.css')
h1= pet.name
form(action='/pet/#{pet.id}', method='post')
input(type='hidden', name='_method', value='put')
label Name:
input(type='text', name='user[name]', value=pet.name)
input(type='submit', value='Update')
@@ -0,0 +1,6 @@
link(rel='stylesheet', href='/style.css')
h1= pet.name
a(href='/pet/#{pet.id}/edit') edit
p You are viewing #{pet.name}
+17
Ver Arquivo
@@ -0,0 +1,17 @@
var db = require('../../db');
exports.name = 'pet';
exports.prefix = '/user/:user_id';
exports.create = function(req, res, next){
var id = req.params.user_id;
var user = db.users[id];
var body = req.body;
if (!user) return next(new Error('User not found'));
var pet = { name: body.pet.name };
pet.id = db.pets.push(pet) - 1;
user.pets.push(pet);
res.message('Added pet ' + body.pet.name);
res.redirect('/user/' + id);
};
+34
Ver Arquivo
@@ -0,0 +1,34 @@
var db = require('../../db');
exports.before = function(req, res, next){
var id = req.params.user_id;
if (!id) return next();
// pretend to query a database...
process.nextTick(function(){
req.user = db.users[id];
// cant find that user
if (!req.user) return next(new Error('User not found'));
// found it, move on to the routes
next();
});
}
exports.list = function(req, res, next){
res.render('list', { users: db.users });
};
exports.edit = function(req, res, next){
res.render('edit', { user: req.user });
};
exports.show = function(req, res, next){
res.render('show', { user: req.user });
};
exports.update = function(req, res, next){
var body = req.body;
req.user.name = body.user.name;
res.message('Information updated!');
res.redirect('/user/' + req.user.id);
};
@@ -0,0 +1,12 @@
<link rel="stylesheet" href="/style.css" />
<h1><%= user.name %></h1>
<form action='/user/<%= user.id %>' method='post'>
<input type="hidden" name="_method" value="put" />
<label>Name: <input type="text" name="user[name]" value="<%= user.name %>" /></label>
<input type="submit" value="Update" />
</form>
<form action='/user/<%= user.id %>/pet' method='post'>
<label>Pet: <input type="text" name="pet[name]" placeholder="name" /></label>
<input type="submit" value="Add" />
</form>
@@ -0,0 +1,8 @@
<link rel="stylesheet" href="/style.css" />
<h1>Users</h1>
<p>Click a user below to view their pets.</p>
<ul>
<% users.forEach(function(user){ %>
<li><a href="/user/<%= user.id %>"><%= user.name %></a></li>
<% }) %>
</ul>
@@ -0,0 +1,21 @@
<link rel="stylesheet" href="/style.css" />
<h1><%= user.name %> <a href="/user/<%= user.id %>/edit">edit</a></h1>
<% if (hasMessages) { %>
<ul id="messages">
<% messages.forEach(function(msg){ %>
<li><%= msg %></li>
<% }) %>
</ul>
<% } %>
<% if (user.pets.length) { %>
<p>View <%= user.name %>s pets:</p>
<ul>
<% user.pets.forEach(function(pet){ %>
<li><a href="/pet/<%= pet.id %>"><%= pet.name %></a></li>
<% }) %>
</ul>
<% } else { %>
<p>No pets!</p>
<% } %>
+15
Ver Arquivo
@@ -0,0 +1,15 @@
// faux database
var pets = exports.pets = [];
pets.push({ name: 'Tobi', id: 0 });
pets.push({ name: 'Loki', id: 1 });
pets.push({ name: 'Jane', id: 2 });
pets.push({ name: 'Raul', id: 3 });
var users = exports.users = [];
users.push({ name: 'TJ', pets: [pets[0], pets[1], pets[2]], id: 0 });
users.push({ name: 'Guillermo', pets: [pets[3]], id: 1 });
users.push({ name: 'Nathan', pets: [], id: 2 });
+92
Ver Arquivo
@@ -0,0 +1,92 @@
var express = require('../..');
var app = module.exports = express();
// settings
// map .renderFile to ".html" files
app.engine('html', require('ejs').renderFile);
// make ".html" the default
app.set('view engine', 'html');
// set views for error and 404 pages
app.set('views', __dirname + '/views');
// define a custom res.message() method
// which stores messages in the session
app.response.message = function(msg){
// reference `req.session` via the `this.req` reference
var sess = this.req.session;
// simply add the msg to an array for later
sess.messages = sess.messages || [];
sess.messages.push(msg);
return this;
};
// expose the "messages" local variable when views are rendered
app.locals.use(function(req, res){
var msgs = req.session.messages || [];
// expose "messages" local variable
res.locals.messages = msgs;
// expose "hasMessages"
res.locals.hasMessages = !! msgs.length;
/* This is equivalent:
res.locals({
messages: msgs,
hasMessages: !! msgs.length
});
*/
// empty or "flush" the messages so they
// don't build up
req.session.messages = [];
});
// log
if (!module.parent) app.use(express.logger('dev'));
// serve static files
app.use(express.static(__dirname + '/public'));
// session support
app.use(express.cookieParser('some secret here'));
app.use(express.session());
// parse request bodies (req.body)
app.use(express.bodyParser());
// support _method (PUT in forms etc)
app.use(express.methodOverride());
// load controllers
require('./lib/boot')(app, { verbose: !module.parent });
// assume "not found" in the error msgs
// is a 404. this is somewhat silly, but
// valid, you can do whatever you like, set
// properties, use instanceof etc.
app.use(function(err, req, res, next){
// treat as 404
if (~err.message.indexOf('not found')) return next();
// log it
console.error(err.stack);
// error page
res.status(500).render('5xx');
});
// assume 404 since no middleware responded
app.use(function(req, res, next){
res.status(404).render('404', { url: req.originalUrl });
});
if (!module.parent) {
app.listen(3000);
console.log('\n listening on port 3000\n');
}
+74
Ver Arquivo
@@ -0,0 +1,74 @@
var express = require('../../..')
, fs = require('fs');
module.exports = function(parent, options){
var verbose = options.verbose;
fs.readdirSync(__dirname + '/../controllers').forEach(function(name){
verbose && console.log('\n %s:', name);
var obj = require('./../controllers/' + name)
, name = obj.name || name
, prefix = obj.prefix || ''
, app = express()
, method
, path;
// allow specifying the view engine
if (obj.engine) app.set('view engine', obj.engine);
app.set('views', __dirname + '/../controllers/' + name + '/views');
// before middleware support
if (obj.before) {
path = '/' + name + '/:' + name + '_id';
app.all(path, obj.before);
verbose && console.log(' ALL %s -> before', path);
path = '/' + name + '/:' + name + '_id/*';
app.all(path, obj.before);
verbose && console.log(' ALL %s -> before', path);
}
// generate routes based
// on the exported methods
for (var key in obj) {
// "reserved" exports
if (~['name', 'prefix', 'engine', 'before'].indexOf(key)) continue;
// route exports
switch (key) {
case 'show':
method = 'get';
path = '/' + name + '/:' + name + '_id';
app[method](path, obj[key]);
break;
case 'list':
method = 'get';
path = '/' + name + 's';
break;
case 'edit':
method = 'get';
path = '/' + name + '/:' + name + '_id/edit';
break;
case 'update':
method = 'put';
path = '/' + name + '/:' + name + '_id';
break;
case 'create':
method = 'post';
path = '/' + name;
break;
case 'index':
method = 'get';
path = '/';
break;
default:
throw new Error('unrecognized route: ' + name + '.' + key);
}
path = prefix + path;
app[method](path, obj[key]);
verbose && console.log(' %s %s -> %s', method.toUpperCase(), path, key);
}
// mount the app
parent.use(app);
});
};
+14
Ver Arquivo
@@ -0,0 +1,14 @@
body {
padding: 50px;
font: 16px "Helvetica Neue", Helvetica, Arial;
}
a {
color: #107aff;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
h1 a {
font-size: 16px;
}
+3
Ver Arquivo
@@ -0,0 +1,3 @@
<link rel="stylesheet" href="/style.css" />
<h1>404: Not Found</h1>
<p>Sorry we can't find <%= url %></p>
+3
Ver Arquivo
@@ -0,0 +1,3 @@
<link rel="stylesheet" href="/style.css" />
<h1>500: Internal Server Error</h1>
<p>Looks like something blew up!</p>
+70
Ver Arquivo
@@ -0,0 +1,70 @@
/**
* Module dependencies.
*/
var express = require('../../')
, app = module.exports = express();
// Faux database
var users = [
{ name: 'tj' }
, { name: 'tobi' }
, { name: 'loki' }
, { name: 'jane' }
, { name: 'bandit' }
];
// Convert :to and :from to integers
app.param(['to', 'from'], function(req, res, next, num, name){
req.params[name] = num = parseInt(num, 10);
if( isNaN(num) ){
next(new Error('failed to parseInt '+num));
} else {
next();
}
});
// Load user by id
app.param('user', function(req, res, next, id){
if (req.user = users[id]) {
next();
} else {
next(new Error('failed to find user'));
}
});
/**
* GET index.
*/
app.get('/', function(req, res){
res.send('Visit /user/0 or /users/0-2');
});
/**
* GET :user.
*/
app.get('/user/:user', function(req, res, next){
res.send('user ' + req.user.name);
});
/**
* GET users :from - :to.
*/
app.get('/users/:from-:to', function(req, res, next){
var from = req.params.from
, to = req.params.to
, names = users.map(function(user){ return user.name; });
res.send('users ' + names.slice(from, to).join(', '));
});
if (!module.parent) {
app.listen(3000);
console.log('Express started on port 3000');
}
+32
Ver Arquivo
@@ -0,0 +1,32 @@
/**
* Module dependencies.
*/
var express = require('../../lib/express');
var app = express.createServer();
// Optional since express defaults to CWD/views
app.set('views', __dirname + '/views');
// Set our default template engine to "jade"
// which prevents the need for extensions
// (although you can still mix and match)
app.set('view engine', 'jade');
// Dummy record
var ninja = {
name: 'leonardo',
summary: { email: 'hunter.loftis+github@gmail.com', master: 'splinter', description: 'peaceful leader' },
weapons: ['katana', 'fists', 'shell'],
victims: ['shredder', 'brain', 'beebop', 'rocksteady']
};
app.get('/', function(req, res){
res.render('ninja', { ninja: ninja });
});
app.listen(3000);
console.log('Express app started on port 3000');
+5
Ver Arquivo
@@ -0,0 +1,5 @@
!!!
html
head
title Partials Example
body!= body
+1
Ver Arquivo
@@ -0,0 +1 @@
li= value
+1
Ver Arquivo
@@ -0,0 +1 @@
li.weapon= weapon
+22
Ver Arquivo
@@ -0,0 +1,22 @@
h1= ninja.name
// file, partial name, and partial object all match ('summary')
// the partial filename prefix '_' is completely optional.
// In this case we need to specify ninja.summary as the object
// option, since it is a "plain" object Express cannot otherwise
// tell if it is intended to be locals, or THE summary object
#summary!= partial('summary', { object: ninja.summary })
// file, partial name = '_weapon', resolves to 'weapon' object within partial
#weapons
h2 Weapons
// the weapon partial is rendered once per item in
// the weapons array or "collection"
ul!= partial('weapon', ninja.weapons)
// partial name 'victim' resolves to 'victim.jade'
// or 'victim/index.jade', providing the "victim" local
#victims
h2 Victims
ul!= partial('victim', ninja.victims)
+4
Ver Arquivo
@@ -0,0 +1,4 @@
h2 Summary
p= summary.email
p= summary.description
p taught by master #{summary.master}
@@ -0,0 +1,5 @@
// this is insane overkill, I do not recommend
// doing tiny partials like this as it gets expensive
// with collections, however this illustrates the new
// partial lookup mechanism
!= partial('../../li', { object: victim, as: 'value' })
+91
Ver Arquivo
@@ -0,0 +1,91 @@
/**
* Module dependencies.
*/
var express = require('../../');
var app = module.exports = express();
// Ad-hoc example resource method
app.resource = function(path, obj) {
this.get(path, obj.index);
this.get(path + '/:a..:b.:format?', function(req, res){
var a = parseInt(req.params.a, 10)
, b = parseInt(req.params.b, 10)
, format = req.params.format;
obj.range(req, res, a, b, format);
});
this.get(path + '/:id', obj.show);
this.del(path + '/:id', obj.destroy);
};
// Fake records
var users = [
{ name: 'tj' }
, { name: 'ciaran' }
, { name: 'aaron' }
, { name: 'guillermo' }
, { name: 'simon' }
, { name: 'tobi' }
];
// Fake controller.
var User = {
index: function(req, res){
res.send(users);
},
show: function(req, res){
res.send(users[req.params.id] || { error: 'Cannot find user' });
},
destroy: function(req, res){
var id = req.params.id;
var destroyed = id in users;
delete users[id];
res.send(destroyed ? 'destroyed' : 'Cannot find user');
},
range: function(req, res, a, b, format){
var range = users.slice(a, b + 1);
switch (format) {
case 'json':
res.send(range);
break;
case 'html':
default:
var html = '<ul>' + range.map(function(user){
return '<li>' + user.name + '</li>';
}).join('\n') + '</ul>';
res.send(html);
break;
}
}
};
// curl http://localhost:3000/users -- responds with all users
// curl http://localhost:3000/users/1 -- responds with user 1
// curl http://localhost:3000/users/4 -- responds with error
// curl http://localhost:3000/users/1..3 -- responds with several users
// curl -X DELETE http://localhost:3000/users/1 -- deletes the user
app.resource('/users', User);
app.get('/', function(req, res){
res.send([
'<h1>Examples:</h1> <ul>'
, '<li>GET /users</li>'
, '<li>GET /users/1</li>'
, '<li>GET /users/3</li>'
, '<li>GET /users/1..3</li>'
, '<li>GET /users/1..3.json</li>'
, '<li>DELETE /users/4</li>'
, '</ul>'
].join('\n'));
});
if (!module.parent) {
app.listen(3000);
console.log('Express started on port 3000');
}
+26
Ver Arquivo
@@ -0,0 +1,26 @@
/**
* Module dependencies.
*/
var vm = require('vm')
, fs = require('fs');
module.exports = function(app, db){
var dir = __dirname + '/routes';
// grab a list of our route files
fs.readdirSync(dir).forEach(function(file){
var str = fs.readFileSync(dir + '/' + file, 'utf8');
// inject some pseudo globals by evaluating
// the file with vm.runInNewContext()
// instead of loading it with require(). require's
// internals use similar, so dont be afraid of "boot time".
var context = { app: app, db: db };
// we have to merge the globals for console, process etc
for (var key in global) context[key] = global[key];
// note that this is essentially no different than ... just using
// global variables, though it's only YOUR code that could influence
// them, which is a bonus.
vm.runInNewContext(str, context, file);
});
};
+20
Ver Arquivo
@@ -0,0 +1,20 @@
/**
* Module dependencies.
*/
var express = require('../../lib/express')
, app = express()
, db = { users: [] };
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.bodyParser());
// pretend db is a database, could be
// whatever you like
require('./boot')(app, db);
app.listen(3000);
console.log('Express app started on port 3000');
+4
Ver Arquivo
@@ -0,0 +1,4 @@
app.get('/', function(req, res){
res.render('index');
});
+18
Ver Arquivo
@@ -0,0 +1,18 @@
app.get('/users', function(req, res){
res.render('user/list', { users: db.users });
});
app.get('/user/add', function(req, res){
res.render('user/add');
});
app.post('/user', function(req, res){
var user = req.body.user;
db.users.push(user);
res.redirect('/users');
});
app.get('/user/:id', function(req, res){
res.render('user');
});
+8
Ver Arquivo
@@ -0,0 +1,8 @@
extends layout
block content
h2 Route sharing example
ul
li: a(href='/user/add') Add user
li: a(href='/users') User list
+11
Ver Arquivo
@@ -0,0 +1,11 @@
doctype html
html
head
title Route loading example
style
body {
padding: 50px;
font: 14px/1.5 solid helvetica, arial, sans-serif;
}
body
block content
+9
Ver Arquivo
@@ -0,0 +1,9 @@
extends ../layout
block content
h2 Add a user
form(action='/user', method='post')
p: input(type='text', name='user[name]', placeholder='Username')
p: input(type='text', name='user[email]', placeholder='Email')
p: input(type='submit', value='Add')
+10
Ver Arquivo
@@ -0,0 +1,10 @@
extends ../layout
block content
h1= user.name
table
tbody
tr
td Email
td= user.email
+10
Ver Arquivo
@@ -0,0 +1,10 @@
extends ../layout
block content
h1 Users
if users.length
for user in users
include index
else
p No users, head over to <a href='/user/add'>/user/add</a> to create one.
+63
Ver Arquivo
@@ -0,0 +1,63 @@
var express = require('../../lib/express')
, verbose = process.env.NODE_ENV != 'test'
, app = module.exports = express();
app.map = function(a, route){
route = route || '';
for (var key in a) {
switch (typeof a[key]) {
// { '/path': { ... }}
case 'object':
app.map(a[key], route + key);
break;
// get: function(){ ... }
case 'function':
if (verbose) console.log('%s %s', key, route);
app[key](route, a[key]);
break;
}
}
};
var users = {
list: function(req, res){
res.send('user list');
},
get: function(req, res){
res.send('user ' + req.params.uid);
},
del: function(req, res){
res.send('delete users');
}
};
var pets = {
list: function(req, res){
res.send('user ' + req.params.uid + '\'s pets');
},
del: function(req, res){
res.send('delete ' + req.params.uid + '\'s pet ' + req.params.pid);
}
};
app.map({
'/users': {
get: users.list,
del: users.del,
'/:uid': {
get: users.get,
'/pets': {
get: pets.list,
'/:pid': {
del: pets.del
}
}
}
}
});
app.listen(3000);
+85
Ver Arquivo
@@ -0,0 +1,85 @@
/**
* Module dependencies.
*/
var express = require('../../lib/express');
var app = express.createServer();
// Example requests:
// curl http://localhost:3000/user/0
// curl http://localhost:3000/user/0/edit
// curl http://localhost:3000/user/1
// curl http://localhost:3000/user/1/edit (unauthorized since this is not you)
// curl -X DELETE http://localhost:3000/user/0 (unauthorized since you are not an admin)
// Dummy users
var users = [
{ id: 0, name: 'tj', email: 'tj@vision-media.ca', role: 'member' }
, { id: 1, name: 'ciaran', email: 'ciaranj@gmail.com', role: 'member' }
, { id: 2, name: 'aaron', email: 'aaron.heckmann+github@gmail.com', role: 'admin' }
];
function loadUser(req, res, next) {
// You would fetch your user from the db
var user = users[req.params.id];
if (user) {
req.user = user;
next();
} else {
next(new Error('Failed to load user ' + req.params.id));
}
}
function andRestrictToSelf(req, res, next) {
// If our authenticated user is the user we are viewing
// then everything is fine :)
if (req.authenticatedUser.id == req.user.id) {
next();
} else {
// You may want to implement specific exceptions
// such as UnauthorizedError or similar so that you
// can handle these can be special-cased in an error handler
// (view ./examples/pages for this)
next(new Error('Unauthorized'));
}
}
function andRestrictTo(role) {
return function(req, res, next) {
if (req.authenticatedUser.role == role) {
next();
} else {
next(new Error('Unauthorized'));
}
}
}
// Middleware for faux authentication
// you would of course implement something real,
// but this illustrates how an authenticated user
// may interact with middleware
app.use(function(req, res, next){
req.authenticatedUser = users[0];
next();
});
app.get('/', function(req, res){
res.redirect('/user/0');
});
app.get('/user/:id', loadUser, function(req, res){
res.send('Viewing user ' + req.user.name);
});
app.get('/user/:id/edit', loadUser, andRestrictToSelf, function(req, res){
res.send('Editing user ' + req.user.name);
});
app.del('/user/:id', loadUser, andRestrictTo('admin'), function(req, res){
res.send('Deleted user ' + req.user.name);
});
app.listen(3000);
console.log('Express app started on port 3000');
+38
Ver Arquivo
@@ -0,0 +1,38 @@
/**
* Module dependencies.
*/
var express = require('../../lib/express')
, app = express.createServer()
, site = require('./site')
, post = require('./post')
, user = require('./user');
// Config
app.set('view engine', 'ejs');
app.set('views', __dirname + '/views');
app.use(express.cookieParser());
app.use(express.methodOverride());
app.use(express.static(__dirname + '/public'));
// General
app.get('/', site.index);
// User
app.all('/users', user.list);
app.all('/user/:id/:op?', user.load);
app.get('/user/:id', user.view);
app.get('/user/:id/view', user.view);
app.get('/user/:id/edit', user.edit);
app.put('/user/:id/edit', user.update);
// Posts
app.get('/posts', post.list);
app.listen(3000);
console.log('Express app started on port 3000');
+12
Ver Arquivo
@@ -0,0 +1,12 @@
// Fake posts database
var posts = [
{ title: 'Foo', body: 'some foo bar' }
, { title: 'Foo bar', body: 'more foo bar' }
, { title: 'Foo bar baz', body: 'more foo bar baz' }
];
exports.list = function(req, res){
res.render('posts', { title: 'Posts', posts: posts });
};
+24
Ver Arquivo
@@ -0,0 +1,24 @@
body {
padding: 50px;
font: 14px "Helvetica Neue", Arial, sans-serif;
}
a {
color: #00AEFF;
text-decoration: none;
}
a.edit {
color: #000;
opacity: .3;
}
a.edit::before {
content: '[ ';
}
a.edit::after {
content: ' ]';
}
dt {
font-weight: bold;
}
dd {
margin: 15px;
}
+4
Ver Arquivo
@@ -0,0 +1,4 @@
exports.index = function(req, res){
res.render('index', { title: 'Route Separation Example' });
};

Alguns arquivos não foram exibidos porque demasiados arquivos foram alterados neste diff Mostrar Mais