TJ Holowaychuk
dfe8e95be4
remove ctx.inspect() implementation. Closes #164
...
obscures user-defned properties. ideally we fix it so .req / .res are not so verbose but meh for now
2014-04-05 19:15:14 -07:00
New Now Nohow
0a223f2bb7
Let errors provide their own status.
...
When calling `ctx.throw`, you're allowed to provide an error object and a
status code. The status code is later set as the `status` property of the error
object. If no status code is provided, it defaults to 500. However, this
happens even if the error object already had a `status` property.
This commit allows an error's pre-existing `status` property to be used in
conjunction with `ctx.throw`.
If the status code is below 500, the error message will be exposed to the user
in the HTTP response. It would be nice to have some Error subclasses that
always have the same status code, because then we could just write
`ctx.throw(new WhateverError())`, and define which 4xx error code we want in
the definition of `WhateverError` itself. If, for example, an
`AuthenticationError` is always meant to go along with a 401, then it would be
nice to just have that knowledge in the class definition.
2014-03-06 22:54:25 -05:00
TJ Holowaychuk
b1f0abd16d
Revert "add response.charset accessor and ctx.charset alias"
...
This reverts commit 94413b1bd4
.
2014-03-06 18:05:01 -08:00
dead_horse
72a9b69146
add request.hostname(getter), fixed #224
...
make request.host and request.hostname work as node url lib
http://nodejs.org/api/url.html#url_url
this commit will change older request.host(getter)
2014-02-26 14:03:05 +08:00
Jonathan Ong
cb532b7bef
this.writable to check if the socket is writable
...
because node sucks haha
2014-02-15 02:06:08 -08:00
TJ Holowaychuk
94413b1bd4
add response.charset accessor and ctx.charset alias
2014-02-14 09:33:10 -08:00
TJ Holowaychuk
08149052fa
change ctx.length and ctx.type to always delegate to response object [breaking change]
2014-02-14 09:16:39 -08:00
Jonathan Ong
2d1147ed21
context.onerror: fix response handling
...
closes #199
2014-01-24 14:29:57 -08:00
TJ Holowaychuk
0610a841df
change ctx.throw() to no longer .expose 5xx errors. Closes #197
2014-01-20 18:44:07 -08:00
TJ Holowaychuk
3bb7a63b77
ocd
2014-01-13 06:36:49 -08:00
TJ Holowaychuk
53b1b8133c
refactor with delegation utility
2014-01-13 06:36:10 -08:00
TJ Holowaychuk
26fb6a138a
add ctx.host= delegate
2014-01-07 17:22:46 -08:00
Veselin Todorov
6cd4c776f8
context.throw supports Error instances
2014-01-04 10:28:24 +02:00
TJ Holowaychuk
7c3181e4d7
fix ctx.inspect() after previous commit
...
otherwise .body will be missing
2013-12-29 11:20:51 -08:00
TJ Holowaychuk
14fe56e632
add explicit .toJSON() calls to ctx.toJSON()
2013-12-29 10:19:21 -08:00
TJ Holowaychuk
88fb4c841d
remove trailing comma
2013-12-29 05:46:12 -08:00
TJ Holowaychuk
87c03aff61
add support for .throw(status, msg). Closes #130
2013-12-20 15:34:16 -08:00
Jonathan Ong
879293f548
use on-socket-error
2013-12-20 14:39:53 -08:00
TJ Holowaychuk
171892c669
fix: cleanup socker error handler on response
2013-12-19 08:53:48 -08:00
Eivind Fjeldstad
ddde5f96ef
add deprecation warning for ctx.error
...
Didn't notice the change until now. A warning would be useful
2013-12-19 11:48:32 +01:00
TJ Holowaychuk
1769f9c431
add socket error-handling. Closes #114
2013-12-17 17:37:35 -08:00
Jonathan Ong
0c330ffb1a
lint: remove unused references, fix global leak
2013-12-09 01:53:18 -08:00
TJ Holowaychuk
e78349a73d
refactor ctx.toJSON() to recurse. Closes #108
2013-12-02 09:08:01 -08:00
TJ Holowaychuk
8e10f12d38
add ctx.remove() and res.remove(). Closes #100
2013-11-24 05:06:35 -08:00
Jonathan Ong
9d7dd437d7
context delegates: response.lastModified and response.etag
...
only doing setters because i think getters would be pretty confusing.
2013-11-20 14:09:49 -08:00
Jonathan Ong
28ca80758b
ctx.search and ctx.request.search
2013-11-18 19:29:29 -08:00
Jonathan Ong
7d9c6ba66c
context: .error() -> .throw()
...
.error() still works for compatibility, but it will be removed in the
future. closes #94
2013-11-18 17:38:12 -08:00
Jonathan Ong
b88babe5ee
refactor context: move the non-delegated properties up
2013-11-18 17:33:41 -08:00
Jonathan Ong
18c2cd1dac
this.originalUrl && this.request.originalUrl
2013-11-14 14:18:05 -08:00
TJ Holowaychuk
35a0c1d2bb
add {request,response,context}#toJSON()
2013-11-14 11:30:56 -08:00
Jonathan Ong
0be1442111
expose app-specific prototypes, cleanup/fix tests
2013-11-13 18:41:40 -08:00
TJ Holowaychuk
c699c75c52
add koa Request / Response objects and delegation. Closes #52
2013-11-13 09:01:15 -08:00
Jonathan Ong
ee6dce83af
ctx.redirect(): only set status code if not already a valid redirect status code
...
specifically 3xx codes except for 304. closes #66
2013-11-08 16:25:03 -08:00
TJ Holowaychuk
3dd172d032
remove content-negotiation accessor methods, replace with method equivalents
2013-11-08 15:16:51 -08:00
TJ Holowaychuk
cf580dbaf3
remove trailer methods
...
less common than .auth which we removed as well but we can
add them back if it becomes a common request
2013-11-08 14:40:58 -08:00
TJ Holowaychuk
8b64343813
remove a few redundant methods for header field values
2013-11-08 14:39:20 -08:00
TJ Holowaychuk
770183771e
add docs for .headersSent alias
2013-11-08 14:38:35 -08:00
TJ Holowaychuk
c1bed668bd
remove app.context() for now
...
get away from promoting the extension of prototypes, aside
from it looking better there isnt really a compelling reason
to allow this
2013-11-07 17:05:26 -08:00
Jonathan Ong
f961647377
add additional node.js aliases
2013-10-23 23:54:07 -07:00
Jonathan Ong
fbfeffa090
statusCode alias for status
...
for node
2013-10-23 23:44:22 -07:00
Jonathan Ong
6492f2ca4a
headersSent alias for headerSent
...
i like keeping things as similar to node as possible :)
2013-10-23 22:38:06 -07:00
TJ Holowaychuk
3b2c55b68b
add overriding to application/json on ctx.body=object
...
since it cant be anything else, but if you have middleware that transforms
the object to xml or something then you could set ctx.type=
2013-10-10 12:48:14 -07:00
TJ Holowaychuk
3b7a7b5047
Merge pull request #58 from jonathanong/set-body-length
...
set length on body override
2013-10-10 12:41:41 -07:00
Jonathan Ong
50d73e3709
onerror: check existence of error
2013-10-08 23:23:14 -07:00
Jonathan Ong
0e829c17ad
set length on body override
2013-10-05 12:31:48 -07:00
Jonathan Ong
4aa75a1164
cleanup trailing whitespace in .js files
2013-10-05 12:27:15 -07:00
TJ Holowaychuk
83fd83aaf8
fix ctx.body= content-type override check. Thanks @jonathanong
2013-09-15 08:51:56 -07:00
TJ Holowaychuk
11913f5e4e
add ctx.body= setter
...
this prevents a bunch of redundant checks that middleware may need to
check response length, type etc. the less code floating around based
on our supported response body types the better, giving us more freedom
to change these as needed, and just less error-prone code in general.
2013-09-14 15:54:17 -07:00
TJ Holowaychuk
04f4d72692
add charset support to ctx.type=
2013-09-14 14:48:33 -07:00
TJ Holowaychuk
167530a9e6
add a todo
2013-09-13 21:06:16 -07:00