Commit graph

227 commits

Author SHA1 Message Date
TJ Holowaychuk
895cf4040c add app.toJSON() 2014-03-11 11:01:33 -07:00
TJ Holowaychuk
f0e353d6a0 fix some tests that never worked 2014-03-11 10:50:34 -07: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
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 
2014-02-13 18:35:25 -08:00
TJ Holowaychuk
aa08845c70 remove app.jsonSpaces setting. Closes 2014-01-31 18:39:47 -08:00
TJ Holowaychuk
3a50280445 Merge pull request 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 
2014-01-24 14:38:40 -08:00
Jonathan Ong
2d1147ed21 context.onerror: fix response handling
closes 
2014-01-24 14:29:57 -08:00
TJ Holowaychuk
0610a841df change ctx.throw() to no longer .expose 5xx errors. Closes 2014-01-20 18:44:07 -08:00
Jonathan Ong
7e66aca8c3 better content negotiation docs
closes 
2014-01-18 14:22:53 -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
b7b1c0fd44 better 404 handling 2013-12-29 22:26:19 -08:00
Jonathan Ong
20615b808d refactor: move .is to type-is 2013-12-27 18:56:09 -08:00
Jonathan Ong
23548b6c97 test: add a test case for *respond !socket.writable
https://github.com/koajs/koa/commit/9fe483ca767b64de3e9b9e2c78b7bfaf4208
61c2#diff-5372f626ee15242f1e2c6eb31655b4faR187
2013-12-25 00:13:54 -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 2013-12-20 15:34:16 -08:00
TJ Holowaychuk
5c50b6d0b3 rename error.js to throw.js 2013-12-20 15:32:02 -08:00
TJ Holowaychuk
70971dcb53 add GeneratorFunction assertion for app.use(). Closes
breaks old old shit but thats ok, super early in the game
2013-12-19 10:03:08 -08:00
TJ Holowaychuk
1769f9c431 add socket error-handling. Closes 2013-12-17 17:37:35 -08:00
TJ Holowaychuk
e78349a73d refactor ctx.toJSON() to recurse. Closes 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
Jonathan Ong
8717a3ad2b req.is(): make better
closes  and 
2013-11-28 00:13:16 -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 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
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
16b016f61f tests: add a 200 HEAD test
purpose of this test is to explictly show how to send a 200 response
when a body is not expected (ie HEAD)
2013-11-19 11:11:26 -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 
2013-11-18 17:38:12 -08:00
Jonathan Ong
458c5ccfd2 bump deps 2013-11-15 17:11:12 -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
35a0c1d2bb add {request,response,context}#toJSON() 2013-11-14 11:30:56 -08:00
TJ Holowaychuk
d9940c1931 fix 2 test requires 2013-11-14 11:23:59 -08:00
TJ Holowaychuk
64fa0b5c2a Merge pull request from koajs/expose-proto
Expose proto
2013-11-14 11:23:10 -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
Jonathan Ong
2f74207e6c response.etag and response.lastModified 2013-11-13 19:59:49 -08:00
Jonathan Ong
e6cd31ce2f add tests for exposing app-specific prototypes 2013-11-13 18:41:40 -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 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
Jonathan Ong
836679c610 another negotiator 3.0 fix 2013-11-08 14:19:25 -08:00
Jonathan Ong
a129d41cc1 fix negotiator 3.0 change
i'm not sure if this is incorrect. people should use `accepts()`
anyways.
2013-11-08 14:09:52 -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
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
c4d194488c fix test label typo 2013-10-10 12:42:58 -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
fc25b79b99 add err.expose check for response handler to expose the err.message 2013-09-12 08:05:50 -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
2fe83a4e3d add failing socket error handling test 2013-09-08 11:41:43 -07:00
TJ Holowaychuk
42f5aa1e61 add app "error" test 2013-09-08 09:37:19 -07:00
TJ Holowaychuk
3758f4b675 use app.listen() in tests 2013-09-01 15:07:54 -07:00
TJ Holowaychuk
ad0dd3cc39 add Context#error(). Closes 2013-08-27 20:54:13 -07:00
TJ Holowaychuk
6fb32165e3 fix .status= case sensitivity 2013-08-22 21:10:59 -07:00
TJ Holowaychuk
2de010ca47 add err.status support. Closes 2013-08-21 19:47:56 -07:00
TJ Holowaychuk
e24334e820 add test for 304 as well 2013-08-20 21:30:55 -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
d9e8bb711e misc 2013-08-18 11:16:02 -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