Commit graph

275 commits

Author SHA1 Message Date
Jonathan Ong
0be1442111 expose app-specific prototypes, cleanup/fix tests 2013-11-13 18:41:40 -08:00
TJ Holowaychuk
93f1bce66f fix ctx.ip
need tests for this
2013-11-13 13:17:16 -08:00
TJ Holowaychuk
c699c75c52 add koa Request / Response objects and delegation. Closes 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 
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
9778933e25 Merge branch 'master' of github.com:koajs/koa 2013-11-08 14:38:42 -08:00
TJ Holowaychuk
770183771e add docs for .headersSent alias 2013-11-08 14:38:35 -08:00
Jonathan Ong
accb1d6a61 pass an optional next to app.callback() 2013-11-08 01:17:41 -08:00
Jonathan Ong
2a7b6d07bf remove unused var 2013-11-08 01:14:43 -08:00
Jonathan Ong
1bcf9b413f remove unnecessary closure 2013-11-08 01:04:26 -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
TJ Holowaychuk
2d35cdff50 add new style middleware support through @jonathanong's koa-compose patch 2013-11-07 16:15:47 -08:00
Jonathan Ong
3c3b81b960 Merge pull request from jonathanong/warn-context-overwrite
debug context: notify if a property is being overwritten
2013-10-25 03:49:23 -07: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
Jonathan Ong
cb60fb872a only listen to stream errors if not already 2013-10-14 22:40:02 -07:00
TJ Holowaychuk
1810977700 update co to 2.0 2013-10-14 16:50:05 -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 from jonathanong/set-body-length
set length on body override
2013-10-10 12:41:41 -07:00
Jonathan Ong
ada1be13bc Merge pull request from jonathanong/bind-onerror
bind .onerror to context
2013-10-10 11:11:38 -07:00
Jonathan Ong
50d73e3709 onerror: check existence of error 2013-10-08 23:23:14 -07:00
Jonathan Ong
df367e0749 debug: notify if a property is being overwritten 2013-10-05 12:56:36 -07:00
Jonathan Ong
98a386a485 bind .onerror to context 2013-10-05 12:32:05 -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
TJ Holowaychuk
7a26886040 change app.onerror to ignore 404s
so you can easily unwind the stack for 404s
2013-09-13 20:54:52 -07:00
TJ Holowaychuk
fc25b79b99 add err.expose check for response handler to expose the err.message 2013-09-12 08:05:50 -07:00
TJ Holowaychuk
6db24f9fac change ctx.error() to flag as err.expose
meaning the application could respond with this message if it likes
2013-09-12 08:01:40 -07:00
TJ Holowaychuk
091d5010cd add ENOENT err.code support for 404 2013-09-08 12:11:02 -07:00
TJ Holowaychuk
228c38cf3e fix text/plain response for 500 errors 2013-09-08 12:07:50 -07:00
TJ Holowaychuk
92b741ac0a remove socket error handling, use server "clientError" 2013-09-08 11:44:45 -07:00
TJ Holowaychuk
cf54f7d7d5 remove a console.log 2013-09-08 11:41:52 -07:00
TJ Holowaychuk
2fe83a4e3d add failing socket error handling test 2013-09-08 11:41:43 -07:00
TJ Holowaychuk
02ae4f787d fix socket "error" handling
always has clientError now
2013-09-08 11:27:16 -07:00
TJ Holowaychuk
67b49cf82d remove unnecessary .bind() 2013-09-08 09:37:33 -07:00
TJ Holowaychuk
f6161918ee Merge branch 'master' of github.com:koajs/koa 2013-09-02 18:29:04 -07:00
Karl Böhlmark
520df772ef use byteLength when calculating content-length 2013-09-02 23:55:38 +02:00
TJ Holowaychuk
7754a3535a move downstream logic to response middleware 2013-09-01 16:27:03 -07:00
TJ Holowaychuk
a1edb2fe7c add docs for error ctx 2013-08-31 09:18:43 -07:00
TJ Holowaychuk
b3761b5da0 Merge branch 'master' of github.com:koajs/koa 2013-08-31 09:17:16 -07:00
Jonathan Ong
a5208f5ce6 pass context to errors
errors are kind of useless without the context
2013-08-30 23:48:54 -07:00
Kim Joar Bekkelund
baefcacff9 typo 2013-08-30 23:09:18 +02:00
TJ Holowaychuk
32d65cfe91 add basic instrumentation 2013-08-28 21:10:25 -07:00
TJ Holowaychuk
fae98c10ec add context debug() 2013-08-27 21:24:53 -07:00
TJ Holowaychuk
ddc7347afe change "unnamed" middleware to -, less junk output 2013-08-27 21:23:11 -07:00
TJ Holowaychuk
ad0dd3cc39 add Context#error(). Closes 2013-08-27 20:54:13 -07:00
TJ Holowaychuk
99895aa215 change app to emit "error" events instead of app.error(fn) 2013-08-27 20:24:04 -07:00
TJ Holowaychuk
eb41a90b80 fix app-level error delegation, always delgate 2013-08-27 19:42:45 -07:00
TJ Holowaychuk
b047405cc5 add Context#hasContent 2013-08-27 19:30:35 -07:00
TJ Holowaychuk
9e69922859 replace "qs" with native "querystring" for now 2013-08-27 14:49:11 -07:00
TJ Holowaychuk
6fb32165e3 fix .status= case sensitivity 2013-08-22 21:10:59 -07:00
TJ Holowaychuk
3439437c18 add app.error(fn). Closes 2013-08-22 18:47:07 -07:00
TJ Holowaychuk
d2713418cc add .querystring memoization 2013-08-22 18:07:16 -07:00
TJ Holowaychuk
261acbde88 add .query memoization for ultimate hello world benchmarks 2013-08-22 18:06:16 -07:00
TJ Holowaychuk
933ecd8747 add memoization to .path. Closes 2013-08-22 17:58:51 -07:00
TJ Holowaychuk
832a1dcc1e change socket error listener to just use length 2013-08-22 11:53:14 -07:00
TJ Holowaychuk
4e4fcfc642 fix socket error handler event listener leak 2013-08-22 11:52:22 -07:00
TJ Holowaychuk
fe89dc3783 add socket error-handling. Closes
otherwise node just explodes, not a good default
2013-08-21 19:52:01 -07:00
TJ Holowaychuk
b4b0789d7a fix .onerror bind for stream "error" handling 2013-08-21 19:50:32 -07:00
TJ Holowaychuk
9d7720f2d8 change .outputErrors to false for "test" env only
good to know in prod ;)
2013-08-21 19:48:47 -07:00
TJ Holowaychuk
2de010ca47 add err.status support. Closes 2013-08-21 19:47:56 -07:00
TJ Holowaychuk
ca7be7b89f add Context#cookies support. Closes
need to add signing support in there as well
2013-08-20 21:51:14 -07:00
TJ Holowaychuk
1457a3df0f add striping of Content-* fields when 204 / 304. Closes 2013-08-20 21:24:18 -07:00
TJ Holowaychuk
3d92717b7a remove Context#auth. Closes 2013-08-19 18:24:17 -07:00
TJ Holowaychuk
607f2fda8f docs 2013-08-18 11:15:22 -07:00
TJ Holowaychuk
8ccfc14e88 add createContext() 2013-08-18 11:14:01 -07:00
Jonathan Ong
978f581099 app.context: extend the context with your own properties 2013-08-17 16:58:53 -07:00
TJ Holowaychuk
9e167c5ed9 Initial commit 2013-08-17 00:15:57 -07:00