Commit Graph

160 Commits (d6c523d1073b145c0505c8986a8eb1d0cb1274ac)

Author SHA1 Message Date
Jonathan Ong 52cb57cc7e fix overwriting of content-type w/ HEAD requests 2014-03-23 04:01:14 -07:00
Jonathan Ong c382305d4f refactor: use escape-html
dat SLOC
2014-03-12 18:30:16 -07:00
Jonathan Ong 182f9d6fa4 refactor: use statuses 2014-03-12 18:29:14 -07:00
TJ Holowaychuk 9b1651a8e6 fix inspection of app. Closes #108 2014-03-11 11:06:57 -07:00
TJ Holowaychuk 895cf4040c add app.toJSON() 2014-03-11 11:01:33 -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
TJ Holowaychuk c50012a636 Merge pull request #225 from dead-horse/issue224-host-confused
add request.hostname(getter), fixed #224
2014-02-26 10:54:40 -08:00
Robert Sköld e77e5a4bdc Debug name koa:context -> koa:request 2014-02-26 09:51:45 +01: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 785aba879c add request.charset 2014-02-14 09:38:59 -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 c7ff0e2ac1 response.body: fix html content sniffing for strings
closes #214
2014-02-13 18:35:25 -08:00
TJ Holowaychuk aa08845c70 remove app.jsonSpaces setting. Closes #202 2014-01-31 18:39:47 -08:00
Jonathan Ong ea5757ff57 remove app.keys getter/setter
closes #203
2014-01-31 16:09:29 -08:00
Jonathan Ong c5655e093a bump cookies to 0.4.0
no longer need to do that keygrip stuff, though i’m more inclined to
remove all the error checking.
2014-01-31 13:52:27 -08:00
TJ Holowaychuk 3a50280445 Merge pull request #200 from koajs/fix/ctx.onerror
context.onerror: fix response handling
2014-01-24 15:03:02 -08:00
Jonathan Ong 2bc3bb7327 this.respond=false for bypassing koa's response handling
closes #198
2014-01-24 14:38:40 -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
pana 30d200dc09 remove the vary method from request object 2014-01-17 18:19:51 +08:00
Jonathan Ong ea1a631bb1 bump finished and mocha 2014-01-16 22:33:02 -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
jeromew 93351bf845 Add req.host= 2014-01-07 21:09:01 +00:00
Veselin Todorov 6cd4c776f8 context.throw supports Error instances 2014-01-04 10:28:24 +02:00
Jonathan Ong 3eb894ee85 res: 205 is a no body response code too!
not sure anyone cares enough about this for a test. plus, it’ll still
“work”
2013-12-30 22:25:44 -08:00
TJ Holowaychuk dc96d9828b refactor Response#status= 2013-12-30 10:04:34 -08:00
TJ Holowaychuk 41502429de Merge pull request #163 from koajs/404
better 404 handling
2013-12-30 10:02:23 -08:00
Jonathan Ong e71937491b refactor: remove unused argument 2013-12-29 22:33:59 -08:00
Jonathan Ong b7b1c0fd44 better 404 handling 2013-12-29 22:26:19 -08:00
Jonathan Ong 51da356a5f debug: check for fn._name as well 2013-12-29 16:04:06 -08: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
Jonathan Ong 20615b808d refactor: move .is to type-is 2013-12-27 18:56:09 -08:00
Jonathan Ong 7fe4133b4a refactor: move content negotiation to accepts 2013-12-27 18:56:02 -08:00
Jonathan Ong 0d9336622c use yield *next internally 2013-12-22 14:48:28 -08:00
mako-taco 9fe483ca76 handle manually written responses 2013-12-22 14:46:36 -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
Jonathan Ong 61d437d746 remove `next` in callback for now
revisit mounting later
2013-12-19 23:13:37 -08:00
Jonathan Ong 38d5bad4d1 bumpity boop co 2013-12-19 22:33:35 -08:00
Jonathan Ong 938a67c94f lint: remove unused requires
duh.
2013-12-19 21:16:19 -08:00
Jonathan Ong 34104c9af3 refactor: allow any streams with .pipe method 2013-12-19 21:14:47 -08:00
TJ Holowaychuk 70971dcb53 add GeneratorFunction assertion for app.use(). Closes #120
breaks old old shit but thats ok, super early in the game
2013-12-19 10:03:08 -08:00
TJ Holowaychuk 171892c669 fix: cleanup socker error handler on response 2013-12-19 08:53:48 -08:00