Douglas Christopher Wilson
fc4eb6dae0
Deprecate leading colon in name for app.param
...
closes #2430
2015-01-13 12:55:22 -05:00
Douglas Christopher Wilson
dab9222942
Fix crash from error within OPTIONS response handler
...
fixes #2494
2015-01-12 18:00:49 -05:00
Sung Kim
4070dabe53
Fix typo in comment
...
closes #2493
2015-01-11 12:14:00 -05:00
Douglas Christopher Wilson
11529a2ea0
Fix OPTIONS responses to include the HEAD method property
...
fixes #2459
2015-01-08 23:30:42 -05:00
Douglas Christopher Wilson
12626aed35
Fix Allow header for OPTIONS to not contain duplicate methods
...
fixes #2458
2015-01-04 19:07:21 -05:00
Douglas Christopher Wilson
3387916efc
Fix incorrect "Request aborted" for res.sendFile when HEAD or 304
...
fixes #2481
2015-01-04 18:26:15 -05:00
Douglas Christopher Wilson
4aa2801054
Merge tag '3.18.6'
2014-12-12 22:06:21 -05:00
Troy Goode
5d74a553d6
Fix exception in req.fresh/req.stale without response headers
...
fixes #2468
2014-12-12 21:17:23 -05:00
Douglas Christopher Wilson
c24463d829
Fix res.send double-calling res.end for HEAD requests
...
fixes #2467
2014-12-10 12:27:08 -05:00
Douglas Christopher Wilson
4b26bbde2d
Fix res.sendFile logging standard write errors
...
closes #2451
2014-11-24 23:28:37 -05:00
Douglas Christopher Wilson
b326ae89df
Fix res.sendFile logging standard write errors
...
fixes #2433
2014-11-23 16:53:11 -05:00
Douglas Christopher Wilson
5fab60bc6c
Correctly invoke async router callback asynchronously
2014-11-09 18:50:00 -05:00
Douglas Christopher Wilson
97ccc52207
Remove res.send(status) signature
2014-11-06 21:20:46 -05:00
Douglas Christopher Wilson
0fc4f0735a
Remove res.sendfile
2014-11-06 21:03:04 -05:00
Douglas Christopher Wilson
ccdbe4ea37
Remove req.acceptsLanguage
2014-11-06 20:54:29 -05:00
Douglas Christopher Wilson
59f2b4048a
Remove acceptsEncoding
2014-11-06 20:53:17 -05:00
Douglas Christopher Wilson
7f2532808a
Remove req.acceptsCharset
2014-11-06 20:52:14 -05:00
Douglas Christopher Wilson
be35e4927c
Remove utils.contentDisposition
2014-11-06 20:48:32 -05:00
Douglas Christopher Wilson
f31dcff10c
Remove app.del
2014-11-06 20:44:42 -05:00
Douglas Christopher Wilson
509ebb1aff
Add app.router reference back
2014-11-06 20:20:33 -05:00
Douglas Christopher Wilson
78e50547f1
Refactor away init middleware
2014-11-06 20:18:51 -05:00
Douglas Christopher Wilson
dcc4eaabe8
Change req.query to a getter
2014-11-06 20:18:48 -05:00
Douglas Christopher Wilson
8c6f9c4253
Remove app.router error message
2014-11-06 20:18:44 -05:00
Douglas Christopher Wilson
88103063fe
Remove res.jsonp(obj, status) signature
2014-11-06 20:18:42 -05:00
Douglas Christopher Wilson
164638b24f
Remove res.json(obj, status) signature
2014-11-06 20:18:40 -05:00
Douglas Christopher Wilson
e66625be50
Remove res.send(body, status) signature
2014-11-06 20:18:39 -05:00
Douglas Christopher Wilson
085a29685a
Change req.host to return host
2014-11-06 20:18:37 -05:00
Douglas Christopher Wilson
e4debea297
Remove unused source file
2014-11-01 14:09:12 -04:00
Aria Stewart
eabd4564aa
Fix handling of URLs containing :// in the path
...
fixes #2421
2014-10-29 00:33:02 -04:00
Douglas Christopher Wilson
68290ee87a
Fix handling of invalid empty URLs
...
fixes #2399
2014-10-23 21:33:38 -04:00
Douglas Christopher Wilson
6614352563
Add support for app.set('views', array)
...
closes #2320
2014-10-23 17:28:53 -04:00
Douglas Christopher Wilson
0e5f2f84ea
Use path.resolve in view lookup
2014-10-23 15:55:17 -04:00
lemmy
dfa7ee4732
Pass context to .forEach instead of closure
...
Has a slight performance improvement
closes #2347
2014-10-23 02:30:09 -04:00
Douglas Christopher Wilson
e9539fc780
docs: visionmedia is now tj on Github
2014-10-23 02:20:51 -04:00
Douglas Christopher Wilson
ccc45a74f8
Merge tag '3.18.1'
2014-10-23 02:06:20 -04:00
Douglas Christopher Wilson
4dd970578a
Fix res.send to mention res.sendStatus
2014-10-23 01:35:16 -04:00
Douglas Christopher Wilson
af1043844f
Fix internal utils.merge deprecation warnings
2014-10-22 15:18:10 -04:00
Douglas Christopher Wilson
4d1ee23f84
Use etag module to generate ETag headers
2014-10-18 00:53:17 -04:00
Douglas Christopher Wilson
6f31218ecc
Use content-disposition module
2014-10-17 23:45:58 -04:00
Alex Upadhyay
6f0302fb78
Fix res.redirect body when redirect status specified
...
fixes #2402
fixes #2404
2014-10-17 22:00:59 -04:00
Douglas Christopher Wilson
0e5613363f
Use content-disposition module
2014-10-17 21:08:05 -04:00
Douglas Christopher Wilson
2c5ed88c90
Merge tag '3.17.8'
2014-10-16 01:27:44 -04:00
Bessie Chan
be478d348c
Fix typo in res.redirect deprecation
...
closes #2395
2014-10-11 18:11:22 -04:00
Douglas Christopher Wilson
94f10c26cb
Fix using same param name in array of paths
...
fixes #2389
2014-10-10 16:31:09 -04:00
Douglas Christopher Wilson
728917164c
Fix router.use to accept array of middleware without path
2014-09-17 19:18:13 -07:00
Douglas Christopher Wilson
bf1980f1b4
Improve error message for bad app.use arguments
2014-09-17 19:18:10 -07:00
Douglas Christopher Wilson
3c1a964362
Fix regression for empty string path in app.use
...
fixes #2361
fixes #2362
2014-09-17 19:18:01 -07:00
Douglas Christopher Wilson
f6ac068ab0
Use crc instead of buffer-crc32 for speed
2014-09-16 00:11:08 -07:00
Fei Yao
bb8abf1f90
Remove unused require in router match
...
closes #2358
2014-09-14 09:14:24 -07:00
Douglas Christopher Wilson
cf41a8f254
Fix app.use to accept array of middleware without path
...
fixes #2356
2014-09-12 17:46:49 -04:00
Seth Samuel
12f92a50dc
Add res.sendStatus
...
closes #2269
closes #2297
closes #2340
2014-09-09 00:24:11 -04:00
Douglas Christopher Wilson
51d33edb79
Use etag to generate ETag headers
2014-09-09 00:13:49 -04:00
Douglas Christopher Wilson
2a0c35a108
Invoke callback for sendfile when client aborts
...
fixes #2189
fixes #2300
closes #2303
closes #2305
2014-09-09 00:12:49 -04:00
Douglas Christopher Wilson
3dca534995
Merge tag '3.17.1'
2014-09-08 23:48:59 -04:00
Douglas Christopher Wilson
70767b19ac
Fix error in req.subdomains on empty host
2014-09-08 23:45:34 -04:00
Douglas Christopher Wilson
2de6514b4b
Support IP address host in req.subdomains
...
fixes #2308
2014-09-08 23:04:06 -04:00
Douglas Christopher Wilson
d07c06363f
Support X-Forwarded-Host in req.subdomains
2014-09-08 23:02:42 -04:00
lemmy
d2d0afff64
Remove unused variable
...
closes #2345
2014-09-08 20:59:03 -04:00
Douglas Christopher Wilson
a57efea173
Fix original URL parsing in res.location
2014-08-10 22:20:54 -04:00
Douglas Christopher Wilson
1150ca7264
Fix incorrect deprecation warnings on res.download
...
fixes #2284
2014-08-06 17:48:36 -04:00
Fabien Franzen
17cea29013
Support mounted app as any argument to app.use()
...
fixes #2277
2014-08-06 02:49:06 -04:00
Douglas Christopher Wilson
8449f23f0d
Deprecate res.sendfile
2014-08-06 02:27:16 -04:00
Douglas Christopher Wilson
2cb029f896
Add res.sendFile
...
fixes #1906
closes #2266
2014-08-06 02:26:51 -04:00
Douglas Christopher Wilson
f724730e1a
Adjust wording on deprecation messages
2014-07-26 17:36:39 -04:00
Douglas Christopher Wilson
f34944c539
Merge tag '3.15.0'
2014-07-23 16:15:00 -04:00
Ashley Streb
11c74d72eb
Fix req.protocol for proxy-direct connections
...
fixes #2252
2014-07-23 16:08:20 -04:00
Douglas Christopher Wilson
88cffadcaa
deps: send@0.7.0
2014-07-23 14:54:33 -04:00
Ashley Streb
a28b7a85cf
Fix req.protocol for proxy-direct connections
...
fixes #2252
2014-07-23 00:19:10 -04:00
Douglas Christopher Wilson
0d77305a1a
Pass options from res.sendfile to send
...
fixes #2017
2014-07-23 00:08:15 -04:00
Douglas Christopher Wilson
323c185079
deps: send@0.7.0
2014-07-23 00:05:45 -04:00
Douglas Christopher Wilson
fd3b40533b
Deprecate combined status, response signatures
...
closes #2227
2014-07-17 22:49:41 -04:00
Vasilyev Dmitry
fd86ab8da2
build: fix up jsdoc return values
...
closes #2243
2014-07-16 09:05:57 -04:00
Douglas Christopher Wilson
e29fa25bb4
Add configurable query parser
...
closes #2215
2014-07-13 23:15:00 -04:00
Douglas Christopher Wilson
b43205ca98
perf: prevent multiple Buffer creation in res.send
2014-07-13 21:14:30 -04:00
Douglas Christopher Wilson
3e32721e24
Fix subapp.mountpath regression for app.use(subapp)
...
fixes #2233
2014-07-12 22:07:43 -04:00
Douglas Christopher Wilson
c6e6203020
perf: fix arguments reassign deopt in some res methods
2014-07-11 17:13:07 -04:00
Douglas Christopher Wilson
997a558a73
Accept multiple callbacks to app.use()
...
fixes #2224
2014-07-11 17:13:06 -04:00
Douglas Christopher Wilson
a01326adac
Catch errors in multiple req.param(name, fn) handlers
2014-07-11 17:12:57 -04:00
Douglas Christopher Wilson
76e8bfa1dc
router: refactor location of try blocks
2014-07-11 16:38:03 -04:00
Douglas Christopher Wilson
8dc67af606
router: speed up standard app.use(fn)
2014-07-11 16:37:10 -04:00
Douglas Christopher Wilson
996d319263
router: fix optimization on router exit
2014-07-11 16:36:20 -04:00
Douglas Christopher Wilson
1c3bd36be6
Support non-string path in app.use(path, fn)
...
fixes #2207
2014-07-11 16:35:37 -04:00
Douglas Christopher Wilson
4ea6f21b02
Merge tag '3.14.0'
2014-07-11 16:28:37 -04:00
Douglas Christopher Wilson
b2382a7336
Remove unnecessary escaping in res.jsonp
2014-07-11 00:20:11 -04:00
Douglas Christopher Wilson
f684a64df7
Add explicit "Rosetta Flash JSONP abuse" protection
2014-07-11 00:15:55 -04:00
Douglas Christopher Wilson
5d03d0eac8
Deprecate res.redirect(url, status)
2014-07-10 23:21:16 -04:00
Yad Smood
544c6665f5
Fix res.send(status, num) to send num as json
...
fixes #2226
2014-07-10 23:19:57 -04:00
Douglas Christopher Wilson
23a49ff61e
Fix routing regression when altering req.method
2014-07-06 19:44:43 -04:00
Douglas Christopher Wilson
e6eeec3f03
Add req.hostname
...
closes #2179
2014-07-04 14:00:37 -04:00
Douglas Christopher Wilson
269dc5323f
Invoke router.param() only when route matches
...
fixes #2206
2014-07-04 13:46:23 -04:00
Douglas Christopher Wilson
f381f2d9b6
add deprecation message to req.auth
2014-07-04 00:24:01 -04:00
Douglas Christopher Wilson
185e327e29
add deprecation message to app.configure
2014-07-03 14:13:39 -04:00
Douglas Christopher Wilson
ce3d1fe07e
Add headers option to res.sendfile
2014-07-03 12:53:49 -04:00
Douglas Christopher Wilson
fd35351594
Add mergeParams option to Router
...
fixes #2153
fixes #2203
2014-07-03 01:13:09 -04:00
Douglas Christopher Wilson
381b3b0f77
add deprecation message to res.vary()
2014-06-23 16:26:28 -04:00
Douglas Christopher Wilson
ba8a4c5a8d
add deprecation message to res.send(body, status)
2014-06-23 16:26:00 -04:00
Douglas Christopher Wilson
2cccbc186e
add deprecation message to non-plural req.accepts*
2014-06-23 16:17:44 -04:00
Douglas Christopher Wilson
10618ced22
Reduce try-catch de-op area in param matching
2014-06-22 12:02:41 -04:00
Douglas Christopher Wilson
7f26cfca91
Fix handling when route.all is only route
2014-06-22 12:02:40 -04:00
Douglas Christopher Wilson
b89a597029
Restore req.params after invoking Router
...
fixes #2163
2014-06-22 12:02:36 -04:00
Guy Ellis Monster
746044b6c2
Replace __defineGetter__ with Object.defineProperty
...
closes #2162
2014-06-22 12:02:33 -04:00
Douglas Christopher Wilson
bdfd288eec
fix behavior when handling request without routes
...
fixes #2159
2014-06-22 12:02:32 -04:00
Douglas Christopher Wilson
7e01531e50
use finalhandler for final response handling
2014-06-22 12:01:55 -04:00
Douglas Christopher Wilson
3ffceff3ed
Merge tag '3.12.0'
2014-06-22 11:42:15 -04:00
Douglas Christopher Wilson
e66667e465
Use media-typer to alter content-type charset
2014-06-21 21:09:12 -04:00
刘星
e606d99dc8
Fix res.attachment Unicode filenames in Safari
...
closes #2188
2014-06-20 16:55:05 -04:00
Douglas Christopher Wilson
9c731f1883
deprecate things with depd module
2014-06-19 23:34:58 -04:00
Douglas Christopher Wilson
8258ce14f4
fix "trim prefix" debug message in express:router
...
closes #2177
2014-06-14 12:57:32 -04:00
Douglas Christopher Wilson
6775658ed5
Fix persistence of req.params from app.params
...
fixes #2170
2014-06-11 18:15:09 -04:00
Douglas Christopher Wilson
4d3e0d88a2
Fix catching errors from top-level handlers
2014-06-09 09:44:37 -04:00
Nick Heiner
253ce4837a
Use path.resolve for views dir instead of concat
...
closes #2165
2014-06-08 17:41:36 -04:00
Douglas Christopher Wilson
9bf1247716
Merge tag '3.10.3'
2014-06-05 23:45:31 -04:00
Jonathan Ong
6d65ae5ba6
use vary@0.1.0
...
with backwards compatibility
closes #2161
2014-06-05 19:32:32 -04:00
Douglas Christopher Wilson
402ec83157
Merge tag '3.10.0'
2014-06-03 00:47:39 -04:00
Douglas Christopher Wilson
f433b7c7cf
replace utils.escape with html-escape
2014-06-03 00:37:32 -04:00
Douglas Christopher Wilson
9e6b881f85
remove jsdoc params for polymorphic functions
...
until jsdoc has a way to actually document them
closes #2156
2014-06-02 10:26:15 -04:00
Douglas Christopher Wilson
db4448dda8
Merge tag '3.9.0'
2014-05-30 22:17:51 -04:00
Douglas Christopher Wilson
c21226aa7c
improve etag control for res.send
...
closes #1435
closes #2129
2014-05-30 21:02:21 -04:00
Douglas Christopher Wilson
8ab96ab80d
mark res.send ETag as weak and reduce collisions
2014-05-29 23:14:21 -04:00
Tiago Relvao
3c0ec59432
Include ETag in HEAD requests
...
backport of commit 3c7310ebcb
2014-05-28 22:31:00 -04:00
Douglas Christopher Wilson
fb2d918056
fix handling of errors from param callbacks
...
fixes #2149
2014-05-28 22:26:05 -04:00
Douglas Christopher Wilson
7f049164b7
Revert "fix behavior of multiple app.VERB for the same path"
...
This reverts commit 31b2e2d7b4 .
fixes #2133
2014-05-23 18:35:20 -04:00
Douglas Christopher Wilson
db4a061ed6
Merge tag '3.8.0'
2014-05-21 02:08:04 -04:00
Douglas Christopher Wilson
f14e39d451
set proper charset in content-type for res.send
...
This will write strings to sockets with an explicit "utf8" encoding
(which is the default) and will override the charset in the
Content-Type so it properly relfects the encoding of the response.
closes #1631
closes #2092
2014-05-21 01:31:08 -04:00
Alberto Leal
084f5d891b
Keep previous Content-Type for res.jsonp
...
backport of commit be997fd654
2014-05-21 01:04:29 -04:00
Douglas Christopher Wilson
739586f96a
add req.baseUrl to access stripped path in routes
...
fixes #2078
2014-05-19 00:39:26 -04:00
Douglas Christopher Wilson
98d17e2293
invoke router.param() only when necessary
...
fixes #2121
2014-05-18 16:21:01 -04:00
Douglas Christopher Wilson
ababa6ae5b
fix issue routing requests among sub routers
...
fixes #2121
2014-05-18 15:27:28 -04:00
Douglas Christopher Wilson
097cd0c242
Merge tag '3.7.0'
2014-05-18 11:21:30 -04:00
Douglas Christopher Wilson
566720be15
improve proxy trust with ip address list
...
closes #2099
2014-05-17 20:02:20 -04:00
Douglas Christopher Wilson
65f13c3cc6
update connect to 2.16.1
2014-05-17 14:30:52 -04:00
Douglas Christopher Wilson
31b2e2d7b4
fix behavior of multiple app.VERB for the same path
...
fixes #2116
2014-05-16 15:09:42 -04:00
Douglas Christopher Wilson
d98e2e7498
deprecation messages are bright red on TTYs
2014-05-13 17:06:45 -04:00
Douglas Christopher Wilson
35c50601bd
Merge tag '3.6.0'
2014-05-09 17:33:26 -04:00
Douglas Christopher Wilson
bc9bcb0317
Fix req.next when inside router instance
...
fixes #2016
2014-05-09 16:53:15 -04:00
Douglas Christopher Wilson
4e1e252e17
deprecate res.json(obj, status)
...
closes #2106
closes #2107
2014-05-08 21:11:05 -04:00
Douglas Christopher Wilson
0461e55380
deprecate app.del
...
closes #2095
2014-05-08 19:16:25 -04:00
Douglas Christopher Wilson
8dc4ff26f9
Add standard deprecation utility
...
* deprecations ignore when NODE_ENV=test
* uses node.js util.deprecate
2014-05-08 19:01:16 -04:00
Roman Shtylman
6f9e927633
remove deprecation message about passing path as array
...
backport commit 6b19e3dc0a
2014-05-08 18:09:25 -04:00
Oliver Salzburg
40a43eb753
Value parameter of app.set() is now typed optional mixed
2014-05-08 17:04:14 -04:00
Douglas Christopher Wilson
0bbbc84959
Merge branch '4.1.x'
2014-05-08 14:45:47 -04:00
Douglas Christopher Wilson
2901bd6916
Merge branch '3.5.x' into 4.1.x
2014-05-08 14:01:02 -04:00
Douglas Christopher Wilson
d58ca520c8
Fix res.jsonp error if callback param is object
...
fixes #2104
2014-05-08 13:42:19 -04:00
Douglas Christopher Wilson
c99fa6a192
Fix req.host for IPv6 literals
...
fixes #2102
2014-05-07 14:08:08 -04:00
Alberto Leal
be997fd654
Keep previous Content-Type for res.jsonp
...
closes #2094
2014-05-02 15:01:19 -04:00
Tiago Relvao
3c7310ebcb
Include ETag in HEAD requests
...
fixes #2083
2014-04-30 09:34:10 -04:00
Douglas Christopher Wilson
1536a2196e
preserve casing of headers in res.header and res.set
...
fixes #2063
2014-04-24 18:00:43 -04:00
Douglas Christopher Wilson
2fd3e72a19
Pass options from res.sendfile to send
...
fixes #2017
2014-04-24 16:44:06 -04:00
Andrea Giammarchi
4ac7474e4e
trim_prefix causing --use-strict flag to fail
...
as specified in bug #2064 the `trim_prefix` function declaration within the `try/catch` causes problems when starting express with `--use_strict` directive.
2014-04-22 17:02:54 -07:00
Andy VanWagoner
56b672e657
support non-ascii filenames in content-disposition headers
2014-04-19 21:16:11 -06:00
Chris Andrejewski
79cc5a4d27
make old middleware properties configurable
...
closes #2054
2014-04-16 08:49:08 -04:00
Roman Shtylman
d72f27909f
handle thrown errors inside Route
...
close #2029
2014-04-08 14:50:26 -04:00
Kent C. Dodds
001c9380be
Tell me what I'm using that isn't allowed
...
I'm migrating and it would be useful in a large application to know what I'm using that's not allowed. I think lots of people would feel this way. Let me know if you would prefer a different implementation.
2014-03-28 06:19:29 -06:00
agchou
13475977af
some code cleanup
2014-03-25 15:23:04 -07:00
Roman Shtylman
1eba854f23
support arrays as middleware arguments to .VERB and .all
...
Express 3.x supported passing in arrays for sets of common middleware.
While there are better ways to do this, removing this feature causes
headache in upgrading for no real gain. We can support it without much
more code.
2014-03-23 21:29:59 -04:00
Roman Shtylman
6b19e3dc0a
remove deprecation message about passing path as array
2014-03-23 21:07:37 -04:00
Roman Shtylman
cb1fbce46b
don't call done twice for thrown errors inside parameterized routes
...
fixes #1995
2014-03-23 14:42:46 -04:00
Blake Embrey
efbe1779e3
Override params every layer.
2014-03-17 15:16:26 -03:00
Blake Embrey
c7e84d8044
Clean up code and syntax issues.
2014-03-10 13:19:03 -04:00
Blake Embrey
9ae1d0d22d
Remove redundant .all function.
2014-03-10 13:18:23 -04:00
Blake Embrey
be52dbbaa1
Allow dynamic mounting with .use.
...
Retains params from the parent application.
2014-03-10 13:13:39 -04:00
Jonathan Ong
68996d7561
remove req.auth
2014-03-09 19:45:43 -07:00
Roman Shtylman
5e12bab5cc
add better error messages for non-functions as middleware
...
Only functions are supported for [VERB](path, fn), use(path, fn) and
all(fn) calls in Router and Routes. This catches those errors earlier to
avoid checks during actual request processing.
2014-03-09 22:30:47 -04:00
Jonathan Ong
7693aa5464
use parseurl
2014-03-07 18:27:26 -08:00
Jonathan Ong
110f471efa
lint
2014-03-07 18:04:03 -08:00
Jonathan Ong
2064f412cb
remove res.charset usage
2014-03-07 16:46:54 -08:00
Jonathan Ong
bad55f7977
move setHeader charset patch to .set
...
note that application/json no longer adds charset=utf-8. could be a
regression.
closes #1952
See also: https://github.com/broofa/node-mime/issues/86
2014-03-07 16:32:41 -08:00
Jonathan Ong
3cf7b2e39e
refactor to use basic-auth
2014-03-07 16:18:51 -08:00
Jonathan Ong
3321055025
use path-to-regexp
2014-03-05 22:35:55 -08:00
Jonathan Ong
5572897998
some jshint cleanup
...
some more errors but whatever
2014-03-05 22:24:35 -08:00
Jonathan Ong
3112f92d08
move the patch to the response proto
2014-03-05 22:20:58 -08:00
Jonathan Ong
74f55a863a
remove .writeHead patch
...
no middleware uses the “header” event anymore
2014-03-05 22:17:25 -08:00
Jonathan Ong
9ea18e10c9
throw errors when users try to access removed middleware
2014-03-05 22:13:54 -08:00
Jonathan Ong
6ec1904aac
use serve-static for static middleware
2014-03-05 21:58:49 -08:00
Roman Shtylman
d368aed150
fix Route#all before Route#verb
...
Properly handle calling a VERB after using .all()
close #1945
2014-03-03 17:50:13 -05:00
Roman Shtylman
f8b954bcd9
make express.Router() return a Router function instance
...
Similar to how express() returns an express `app` instance which is also
a function, express.Router() returns the Router instance which is also a
function and can be easily used via another router or the app.
app.use(express.Router());
2014-02-26 20:22:11 -05:00
Roman Shtylman
6911815171
Router: add parameter handling to middleware
...
Middleware (.use) can now specify parameter arguments to trigger
Router.param loading. This is handy if you want to `.use` additional
routers but need to load certain objects before the mounted middleware
runs.
2014-02-23 19:21:13 -05:00
Roman Shtylman
0719e5f402
implement app.route()
2014-02-23 11:31:43 -05:00
Roman Shtylman
d42d8f5b07
move support for multiple res.cookie calls to lib/response
...
Patch.js is simpler and follows upstream node.js closer as a result.
2014-02-22 09:26:30 -05:00
Roman Shtylman
6835289564
remove ServerResonse.headerSent monkey patch
...
node.js ServerResponse contains a headersSent field. Use that instead of
our patched misnamed version.
2014-02-22 09:26:29 -05:00
Roman Shtylman
1396e0855d
remove last pieces of connect dependency
...
- copy over patch.js to shim ServerResponse
- bundle `static` middleware
2014-02-22 09:26:29 -05:00
Roman Shtylman
6a7363e4ae
use local copy of parseUrl
2014-02-22 09:26:29 -05:00
Roman Shtylman
9bc63d92a0
move connect.query() into our repo
2014-02-22 09:26:29 -05:00
Jonathan Ong
aac1d52c4f
res.location: remove resolving relative urls
...
closes #1804
this is an unnecessary maintenance burden (see the number of removed
tests), especially when supporting mounting. browsers handle relative
locations, and so should all clients.
a regression could be absolute locations on a mounted app, but 1. we
can fix that later when someone complains and 2) code-smell
2014-02-08 11:37:43 -08:00
Roman Shtylman
f41d09a3cf
remove app.router and refactor middleware processing
...
This is an overhaul of middleware processing, Router and Route. Connect is no
longer used to process the middleware stack. This functionality has been
split into two parts: middleware stack and default error response.
The entry point for request processing is the `app.handle` method. It
sets up the default error response handle (to run in the event of no
other error handler) and then triggers the app router (instance of
Router) to handle the request.
The app router `handle` function contains the middleware dispatch layer
previously in the connect codebase. This layer handle the logic for
dispatching `.use` calls (stripping paths if needed). The app contains a
base router `app._router`. New routes can be created and `.use`d on this
router to organize routes into files.
Routers now have the following methods `.use`, `.all`, `.param` which
are all public.
Additionally, Routers have a `.route(path)` method which returns a new
instance of Route for the requested path. Route(s) are isolated
middleware stacks and contain methods for the HTTP verbs as well as an
`.all` method to act similar to middleware. These methods are chainable
to easily describe requirements for a route.
var route = Router.route('/foo'); // or 'app.route('/foo')'
route
.all(auth)
.get(function(...) {})
.all(more_checks)
.post(function(...) {})
Any Route and Router methods which accept handlers also accept error
(arity 4) handlers which will also behave as expected.
Finally, the `app.router` getter has been removed. Middleware and
handlers are run IN THE ORDER they are seen in the file. This means that
code which injected the `app.router` and then added error handlers (or
other middleware) will need to be updated to move those handlers after
any requests added on the app object. The examples have been updated
accordingly. This is the largest breaking change to codebases in this
commit.
2014-02-03 15:59:52 -05:00
Roman Shtylman
4983c38298
change res.locals to a plain js object.
...
Anyone who wants something fancier should use modules.
- fixes annoyance with not being able to set 'name' property on locals
2014-01-27 19:17:29 -05:00
Roman Shtylman
337ab24899
remove unused require
2014-01-24 19:31:32 -05:00
Roman Shtylman
63c6a9c5ad
use escape-html module to escape html
...
Another util bites the dust.
2014-01-24 19:21:21 -05:00
Roman Shtylman
718e68ffae
use utils-merge module to mixin object properties
2014-01-24 19:16:37 -05:00
Roman Shtylman
f56a5f01c4
remove deprecated express.createServer() method
...
This has been warning about deprecation for a long time. Use `express()`
to instantiate an express app.
2014-01-19 14:05:12 -05:00
Haoliang Gao
fd6439bb36
delete semicolon
2014-01-19 23:53:48 +08:00
Doug Patti
1d97599f8b
prevent incorrect automatic OPTIONS responses
...
The router has automatic handling of OPTIONS based on the registered
routes, but if you make an OPTIONS request for an endpoint that does
not exist, then it will still return a 200 with nothing allowed.
Instead, we can let the request move on down the middleware chain. This
has two benefits: first, if the route was not defined and no other
middleware handles it, it will return with a 404. Secondly, if multiple
routers are used and a later one has the route or a custom OPTIONS
defined, the first router will not respond incorrectly.
2014-01-13 20:46:07 -08:00
Roman Shtylman
5ddbb6965f
Merge pull request #1868 from dpatti/smarter-router-auto-options
...
Automatic OPTIONS response breaks with multiple routers
2014-01-13 14:45:06 -08:00
Doug Patti
a3b5f6d07f
prevent incorrect automatic OPTIONS responses
...
The router has automatic handling of OPTIONS based on the registered
routes, but if you make an OPTIONS request for an endpoint that does
not exist, then it will still return a 200 with nothing allowed.
Instead, we can let the request move on down the middleware chain. This
has two benefits: first, if the route was not defined and no other
middleware handles it, it will return with a 404. Secondly, if multiple
routers are used and a later one has the route or a custom OPTIONS
defined, the first router will not respond incorrectly.
2014-01-13 17:40:42 -05:00
Roman Shtylman
7282b50ad0
remove app.configure()
2014-01-11 10:53:54 -05:00
Roman Shtylman
8c059469fd
No 'json spaces' by default
...
Json rendering can be handled by user tools or overridden in their own
app to behave as desired. Minimizes the use of magic env settings.
2014-01-11 10:53:36 -05:00
Roman Shtylman
8c3f153dd4
remove use of app.configure for view cache setting
2014-01-11 10:52:38 -05:00
Oliver Salzburg
28af21baeb
Value parameter of app.set() is now typed optional mixed
2014-01-04 22:05:19 +01:00
Oliver Salzburg
951c70496b
Value parameter of app.set() should be typed optional Object
2014-01-04 17:50:27 +01:00
Jonathan Ong
3f14b4de1f
Merge pull request #1835 from visionmedia/change-req-params-to-object
...
change req.params to an object instead of an array
2014-01-03 03:00:13 -08:00
Jonathan Ong
cec0c06a70
refactor req.is and req.accepts*
2014-01-03 02:50:09 -08:00
Matt Copperwaite
85834fd146
Error message now describes where the view was not able to be found. Useful for debugging.
2013-12-20 11:39:31 +00:00
Alex Kocharin
7b0dca0f9c
throw 400 in case of malformed paths
2013-12-11 17:14:44 -08:00
Jonathan Ong
2e68ddbae9
expose connect.middleware using Object.getOwnPropertyDescriptor()
...
closes #1853 . no tests, but it should be fine.
2013-12-10 23:52:48 -08:00
TJ Holowaychuk
c6c71abf4d
change req.params to an object instead of an array
2013-11-27 19:46:39 -08:00
TJ Holowaychuk
8a7a695836
ocd
2013-11-26 11:12:56 -08:00
Michael Ficarra
2f2a652bc9
fixes #1826 : res.redirect('toString') fails with 500
...
Removed the unused map and corrected the doc comment.
2013-11-26 13:11:15 -06:00
Roman Shtylman
f47c0d9774
add Router.all() method
...
Similar to app.all() but specifically for attaching handlers to all
methods under a standalone router. This is useful for isolating routers
that require "middleware" like features for all routes managed by the
router.
2013-11-19 18:52:04 -05:00
Jérémy Lal
b7a38af41d
Use url.resolve to compute location header of relative paths
2013-11-02 02:28:29 +01:00
Jérémy Lal
661914781e
semicolons
2013-11-02 00:39:32 +01:00
Jonathan Ong
55d1a4f964
always send ETag when content-length > 0
...
closes #1780
2013-10-30 20:34:16 -07:00
Jonathan Ong
9bed2b80ee
lint: remove unused stuff
2013-10-18 01:18:56 -07:00
TJ Holowaychuk
c9d9ed3493
fix res.sendfile() callback
...
what the hell... I was just told readable streams have finish not end,
make up your mind node!
2013-10-17 02:51:01 +00:00
Jonathan Ong
e218377a3d
check existence of jsonp callback
2013-10-15 12:39:32 -07:00
Jake Seip
ed7db34bab
documentation language fix
2013-09-19 10:41:45 -07:00
lxe
288176bbc9
Added safe encodeURIcomponent to eliminate errors on malformed captures.
2013-09-16 14:57:31 -04:00
TJ Holowaychuk
3b4ce91fa3
refactor res.format() with a little ocd
2013-09-08 09:30:59 -07:00
Eduardo Sorribas
a887e6a881
Minor refactor of res.format
2013-09-08 02:34:52 -04:00
Eduardo Sorribas
69290cad6f
res.format() now includes charset. Fixes #1744
2013-09-08 02:10:46 -04:00
TJ Holowaychuk
8e2f538983
refactor res.links()
2013-09-07 15:26:12 -07:00
Eduardo Sorribas
7059d3b71e
Allow multiple call concatenation for res.links. Fixes #1683
2013-09-06 21:44:03 -04:00
cjihrig
e5de08faa1
add res.vary(). Closes #1682
2013-09-02 09:10:14 -07:00
TJ Holowaychuk
e43ff076fd
Merge pull request #1740 from superic/master
...
Updated Util.isAbsolute(path) to return true for Azure absolute paths
2013-09-02 08:56:03 -07:00
TJ Holowaychuk
3ea7381dea
Merge pull request #1711 from jonjenkins/master
...
Fixes from pull request #1643
2013-09-02 08:55:23 -07:00
Eric Willis
9e406dfee2
Updated Util.isAbsolute(path) to return true for Azure absolute paths
...
- Azure absolute paths look like \\ip_address\volume\guid\guid\site\wwwroot\...file.js.
Changed Util.isAbsolute to return true for paths that start with two backslashes.
2013-08-31 16:16:49 -07:00
TJ Holowaychuk
6cf6c8b918
Revert "remove charset from json responses. Closes #1631 "
...
This reverts commit 138d74aefa .
2013-08-27 13:48:18 -07:00
Greg Methvin
3ddd8e66a7
Make req.accepts take an argument list
2013-08-16 15:19:33 -07:00
Jon Jenkins
19cb39869f
Fixes from pull request #1643 , array method correction
2013-08-04 12:46:50 -05:00
Jon Jenkins
bdbdab7fcc
Fixes from pull request #1643
2013-08-03 16:33:15 -05:00
TJ Holowaychuk
5aa9670120
Merge pull request #1685 from CharlesHolbrow/master
...
Fix typo in app.param comment
2013-08-02 14:46:40 -07:00
TJ Holowaychuk
8ad8cb93cc
refactor
2013-08-02 14:46:25 -07:00
Max Riveiro
54a192a5c5
Add application setting to disable ETag completely
2013-07-21 12:49:28 +04:00
TJ Holowaychuk
c3bd65eda2
Revert "remove old OPTIONS default response"
...
This reverts commit 2bba69f633 .
2013-07-16 11:22:02 -07:00
Charles Holbrow
3de81e0147
Fix typo in app.param comment
2013-07-13 16:32:02 -07:00
TJ Holowaychuk
ba5c48aa86
remove .version export
2013-06-27 08:38:53 -07:00
Max Melentiev
a3c9eacaf1
move .app to req's & res's prototypes
2013-06-11 19:42:30 +04:00
TJ Holowaychuk
19d685b152
return actual booleans from req.accept* functions
2013-06-06 13:47:18 -07:00
TJ Holowaychuk
8ab44081d4
add support for multiple X-Forwarded-Proto values. Closes #1646
2013-06-05 12:05:45 -07:00
TJ Holowaychuk
138d74aefa
remove charset from json responses. Closes #1631
2013-06-05 11:51:59 -07:00
Jenkins
2f19b4fefc
Corrected callback crashing app when array
2013-05-26 21:35:52 -05:00
TJ Holowaychuk
2fe46b3905
Release 3.2.5
2013-05-21 21:01:24 -07:00
Forbes Lindesay
30919be2a0
Throw a meaningful error when there is no default engine
2013-05-15 12:39:06 +01:00
TJ Holowaychuk
10b21b41f7
Revert "fix infinite loop when res.send(status) is undefined. Closes #1623 "
...
This reverts commit 28b8a3b5f7 .
2013-05-13 13:23:23 -07:00
TJ Holowaychuk
28b8a3b5f7
fix infinite loop when res.send(status) is undefined. Closes #1623
2013-05-13 13:22:31 -07:00
TJ Holowaychuk
3296ed9cb3
change generation of ETags with res.send() to GET requests only. Closes #1619
...
if for some reason this is not ideal for your use-case please let me know and comment in the issue
2013-05-10 14:43:59 -07:00
TJ Holowaychuk
f976625281
Release 3.2.4
2013-05-09 09:17:48 -07:00
TJ Holowaychuk
8559c0e2a4
fix req.subdomains when no Host is present
2013-05-09 09:10:52 -07:00
TJ Holowaychuk
06ead58240
fix req.host when no Host is present, return undefined
2013-05-09 09:06:11 -07:00
TJ Holowaychuk
0b09c8981f
Release 3.2.3
2013-05-07 07:55:06 -07:00
TJ Holowaychuk
f862ad29f5
Release 3.2.2
2013-05-03 12:54:52 -07:00