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
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
a2582e7aa3
change req.is() to return the canonical mime type
2013-11-28 12:47:23 -08:00
TJ Holowaychuk
5dfadba96f
remove null return from .is()
2013-11-28 12:39:45 -08:00
TJ Holowaychuk
48601ea7d8
add matchesMime() util
2013-11-28 12:38:35 -08:00
TJ Holowaychuk
271d921c41
change an .is() example
...
text/* already covers it
2013-11-28 12:29:28 -08:00
Jonathan Ong
8717a3ad2b
req.is(): make better
...
closes #105 and #106
2013-11-28 00:13:16 -08:00
TJ Holowaychuk
309f2ac00e
add debug() for .listen() and .keys=
2013-11-26 21:26:05 -08:00
Jonathan Ong
e447e731b6
req.acceptsLanguage - default to first type fi header not set
2013-11-26 14:52:24 -08:00
Jonathan Ong
c24ab00b23
req.acceptsCharsets - default to first type if header not set
2013-11-26 14:49:07 -08:00
TJ Holowaychuk
8e10f12d38
add ctx.remove() and res.remove(). Closes #100
2013-11-24 05:06:35 -08:00
Jonathan Ong
1d38d4acd1
req.accepts: default to first 'type'
2013-11-20 18:00:24 -08:00
Jonathan Ong
5ae3f4eb30
req.acceptsEncodings: default to 'identity'
2013-11-20 17:46:11 -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
1dd1d02db0
app.respond: support 205 status codes as no-content
...
pretty new to me, but it’s basically the same as 204
2013-11-19 22:20:17 -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
9407d7776c
context: cross-reference request and response
2013-11-18 14:10:11 -08:00
TJ Holowaychuk
cb682ed904
add body.close check for HEAD requests
2013-11-15 11:33:14 -08:00
TJ Holowaychuk
27d1336af5
Merge pull request #89 from koajs/keygrip
...
add keygrip support
2013-11-15 11:31:23 -08:00
TJ Holowaychuk
f3a6f6ae39
fix stream leak on HEAD. Closes #91
2013-11-15 10:49:28 -08:00
TJ Holowaychuk
f4b7f279ea
ocd
2013-11-15 10:09:56 -08:00
Jonathan Ong
0362c8e457
add app.keys support
2013-11-15 10:04:07 -08:00
Jonathan Ong
18c2cd1dac
this.originalUrl && this.request.originalUrl
2013-11-14 14:18:05 -08:00
TJ Holowaychuk
d23ad1a024
add .body to Response#inspect()
2013-11-14 11:34:55 -08:00
TJ Holowaychuk
35a0c1d2bb
add {request,response,context}#toJSON()
2013-11-14 11:30:56 -08:00
TJ Holowaychuk
db22fba86d
Merge branch 'master' of github.com:koajs/koa
2013-11-14 11:23:17 -08:00
TJ Holowaychuk
64fa0b5c2a
Merge pull request #85 from koajs/expose-proto
...
Expose proto
2013-11-14 11:23:10 -08:00
TJ Holowaychuk
d247e7835c
Merge branch 'master' of github.com:koajs/koa
2013-11-13 21:11:28 -08:00
Jonathan Ong
e51e85e0fc
response.etag: remove getter for now
...
until we figure out a good way to return both weak and strong validators
2013-11-13 21:04:40 -08:00
TJ Holowaychuk
088fcfd3a6
refactor res.etag= regexp
2013-11-13 20:48:57 -08:00
Jonathan Ong
2f74207e6c
response.etag and response.lastModified
2013-11-13 19:59:49 -08:00
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 #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
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 #60 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 #58 from jonathanong/set-body-length
...
set length on body override
2013-10-10 12:41:41 -07:00
Jonathan Ong
ada1be13bc
Merge pull request #56 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 #31
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