Jingwei "John" Liu
b80007c460
fix a possible typo
2015-07-03 18:55:24 +08:00
Yazhong Liu
90b05c09e5
upgrade supertest to ^1.0.1
2015-05-24 12:39:53 +08:00
Aaron Heckmann
6392ee0407
return same object from request.query
...
Before this change, calling request.query when there was no querystring
resulted in a new object created and returned each time. If the resulting
object was ever changed, accessing request.query would not reflect it and
cause weird bugs.
2015-05-21 12:55:58 -07:00
dead_horse
c8eb5eefb1
make sure helpers return strict string
2015-04-29 01:44:02 +08:00
dead_horse
1c5cb6f691
feat: alias response.headers to response.header
2015-04-23 17:28:31 +08:00
dead_horse
b6aea969f8
non-error thrown, fixed #432
2015-04-14 10:34:55 +08:00
fengmk2
dd3a0fcdfa
make sure req.host and req.hostname return strict string
...
Should return empty string when no host present.
2015-03-30 17:44:32 +08:00
fengmk2
1edd6ec69a
test: improve test coverage for application and response
2015-03-29 14:40:09 +08:00
Jonathan Ong
b721273682
rename 6to5 to babel
2015-02-15 16:47:18 -08:00
Jonathan Ong
c5545cd918
add experimental async function support
2015-02-14 17:33:08 -08:00
Jesús Rodríguez Rodríguez
8d1a340789
Fix typo on response.body test.
...
Just a small typo.
2015-01-29 15:39:06 -08:00
Jesus Rodriguez
68843e0cb3
Remove unused imports and exports
2015-01-29 15:39:06 -08:00
dead_horse
5a3f32dfdd
Add res.append(field, val) to append headers
2015-01-26 02:20:08 +08:00
fengmk2
3e66157472
ctx.request.href: get full request url, include protocol
, host
and originalUrl
...
Useful on those scenes need current full request url, like `OAuth`.
2014-12-27 14:17:00 -08:00
HanHor Wu
a04183aae0
remove the 'x-powered-by' in context test since it has been removed
2014-12-08 09:39:51 +08:00
TJ Holowaychuk
e4076ce930
remove x-powered-by. Closes #372
2014-12-04 01:01:57 -08:00
dead_horse
57eb6a10df
set content-type for redirect when accpect plain
2014-11-27 09:25:44 -08:00
Matthew Mueller
6847fe68bd
added: ctx.state as the recommended namespace for passing information through middleware and routes.
2014-11-18 00:54:14 -08:00
dead_horse
193eadbdb5
add the missing semicolon
2014-11-16 23:18:37 +08:00
dead_horse
eff4886cd8
ocd
2014-11-16 21:52:14 +08:00
Yoshua Wuyts
9c98440c5c
test/application: fix quotes
...
super minor style thing, but there's not reason not to PR so yeah. haha.
2014-10-31 20:15:45 +01:00
TJ Holowaychuk
eb443d1bee
Merge pull request #353 from dead-horse/status
...
custom status
2014-10-09 09:05:26 -07:00
dead_horse
efdd7d3716
less strict for status, close #350
...
add res.message[=]
2014-10-09 23:20:53 +08:00
dead_horse
065a773e65
more test case
2014-10-01 20:42:29 +08:00
Jonathan Ong
2f0fe55ae3
.throw() -> http-errors, .assert() -> http-assert
2014-09-20 10:46:28 -07:00
fengmk2
cca2438f64
ctx.attachment support no-ascii filename
2014-09-19 13:46:08 +08:00
Tiago Ribeiro
a85f580983
Add full coverage
2014-09-08 23:53:46 +01:00
Jonathan Ong
9455726c00
finished -> on-finished
...
removes the writable test because it’s fake and there are tests for
on-finished for this case
2014-08-16 02:58:06 -07:00
Ian Storm Taylor
dc0c35471c
support errors and update docs
2014-08-12 13:22:33 -07:00
Ian Storm Taylor
5931714bd8
make the second argument to throw properly optional
2014-08-12 13:19:14 -07:00
dead_horse
f6626967b2
ignore props.status in ctx.throw
2014-08-09 13:38:54 +08:00
Ian Storm Taylor
bcac468f7c
add the ability to pass props
to context.throw
2014-08-08 12:37:04 -07:00
TJ Holowaychuk
f9eb219ecf
Merge pull request #330 from dead-horse/onerror-status
...
Onerror status
2014-08-07 19:04:10 -07:00
dead_horse
fa5948cca3
do not expose when err.status not valid
2014-08-08 10:02:24 +08:00
dead_horse
5ca9f451a7
alias request.headers as request.header
2014-08-07 00:04:21 +08:00
dead_horse
e2f61595b8
fix err.status invalid lead to uncaughtException
2014-08-06 21:32:35 +08:00
Jonathan Ong
19a9ef76e5
fix test for new mime-types
2014-08-04 13:28:29 -07:00
dead_horse
5b18f8bab0
parse req.type by media-typer
2014-07-09 23:52:56 +08:00
dead_horse
e791100993
add more test case, fix req.idempotent
2014-07-06 16:52:02 +08:00
Jonathan Ong
31ba115231
res: add .is()
2014-06-13 00:30:59 -07:00
tmilewski
c2322f2b3d
remove .status=string #298
2014-06-10 16:38:25 -04:00
TJ Holowaychuk
63a4297084
Merge pull request #291 from koajs/vary
...
remove response.append(), use vary module
2014-06-06 23:00:39 -07:00
Jonathan Ong
1a32ecac31
fix res.type= for unknown types
...
because we changed from mime to mime-types. ideally, we should just not
set the content-type, but this way it’s backwards compatible. we can
change it later.
2014-06-06 16:26:03 -07:00
Jonathan Ong
fdbd16acc3
remove response.append(), use vary module
2014-06-05 16:06:15 -07:00
Jonathan Ong
008f0554c6
set-type -> mime-types
...
removes mime dependencies from the dep tree.
liberally sets charset because some express users complained about bad
browsers using the default charset.
2014-06-03 21:44:25 -07:00
Jonathan Ong
11cf47c8a6
remove .request accept tests the fail
...
due to
https://github.com/expressjs/accepts/commit/5975ce464575bd0fddfdd3d41796
958cd6bfc20b. passing nothing into accepts() is silly anyways.
2014-06-03 21:35:11 -07:00
dead_horse
f76268ba58
remove req.host=, fix docs
2014-05-05 12:45:33 +08:00
TJ Holowaychuk
f17629d19f
remove .outputErrors, suppress output when handled by the dev. Closes #272
2014-05-01 16:29:37 -07:00
TJ Holowaychuk
15ab936001
change .status default to 404. Closes #263
2014-04-28 21:17:46 -07:00
dead_horse
48ac0669c5
fix content-length when body is re-assigned. Closes #267
2014-04-28 20:34:26 -07:00
dead_horse
6a2ed3e6eb
assert object type in ctx.onerror
2014-04-25 08:34:11 +08:00
TJ Holowaychuk
4e44c1c49e
add buffer HEAD support tests
2014-04-15 08:38:32 -07:00
TJ Holowaychuk
9a45d07fea
add string HEAD support test
2014-04-15 08:37:48 -07:00
dead_horse
b06bb3cb85
simplify respond
2014-04-15 23:31:11 +08:00
TJ Holowaychuk
95a78c3a44
Merge pull request #255 from dead-horse/stream-body
...
make sure all intermediate stream bodies will be destroy
2014-04-14 15:34:13 -07:00
dead_horse
69c82f63b5
fix length when .body is missing
2014-04-13 11:35:28 +08:00
dead_horse
64aad129d3
fix this.status= in this.body
...
fix default status set bug in this.body=null.
do not call this.status= if this.status exist.
make sure empty content status remove content headers
2014-04-10 11:47:30 +08:00
TJ Holowaychuk
3d8ab61fa1
change res.type= to always default charset. Closes #252
2014-04-09 09:34:50 -07:00
dead_horse
329d2b94db
make sure all intermediate stream bodies will be destroy and have error handle
2014-04-10 00:02:13 +08:00
Dmitry Mazuro
9e8d6a3aa0
ocd
2014-03-24 21:21:15 +03:00
Jonathan Ong
52cb57cc7e
fix overwriting of content-type w/ HEAD requests
2014-03-23 04:01:14 -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
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 #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
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
Jonathan Ong
7e66aca8c3
better content negotiation docs
...
closes #193
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 #130
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 #120
...
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 #114
2013-12-17 17:37:35 -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
Jonathan Ong
8717a3ad2b
req.is(): make better
...
closes #105 and #106
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 #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
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 #94
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 #85 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 #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
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 #31
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 #20
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 #21
2013-08-20 21:24:18 -07:00
TJ Holowaychuk
3d92717b7a
remove Context#auth. Closes #26
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