Tejas Manohar
9f27c1c414
refactor to use ES6 const
...
change var to const for static require()'d modules
make constant var references in app use const keyword
refactor context to use es6 constants
refactor request to use es6 constants, let block-scope coming next
use const in response object for static refs
make context tests use es6 constants
experimental unit tests -> const
use const for static references in unit test over req
use const for static refs in res tests
update app tests to use const for static refs
make the context test use es6 constants for static refs
use constants in the README
es6 constants seem to work in --harmony on 0.12 too
use const's for immutable refs in benchmarks
ensure all JS files have blank newline at top
add newline to bottom of file where missing
add a webchat freenode link to irc channel
no need to assign error in catch{}-able test
app.silent option to turn off err logging
keep test env logging for backwards-compat
2015-10-11 21:22:33 -07:00
Tejas Manohar
96c1e0998f
don't use 'exports', only 'module.exports'
...
closes #513
2015-10-11 21:18:32 -07:00
Tejas Manohar
0b1b49cb8a
use strict in all .js files
...
closes #508
2015-10-11 16:08:32 -07:00
fengmk2
f875eb0c30
Merge pull request #486 from tejasmanohar/app_silent
...
app.silent option to turn off err logging
2015-10-09 11:22:58 +08:00
Tejas Manohar
6c19c41c09
keep test env logging for backwards-compat
2015-10-08 19:02:36 -05:00
Tejas Manohar
ea4754e332
ensure all JS files have blank newline at top
2015-10-05 18:18:03 -05:00
Tejas Manohar
c369b33b23
app.silent option to turn off err logging
2015-10-05 17:51:26 -05:00
C.T. Lin
85860587cc
implement ctx.origin
2015-09-20 23:49:37 +08:00
dead_horse
36a933375b
fix comment
2015-08-25 16:49:05 +08:00
gyson
1be333ca31
change respond() to a regular function
...
remove `yield* next` in lib/application, which caused annoy `A promise
was converted into a generator …` message.
benchmark result:
* when bench with native Promise, it has no impact for both stable and
experimental ones.
* when bench with Bluebird, it’s about 5-10% faster than original for
both stable and experimental ones.
closes #472
2015-08-23 13:55:20 -07:00
AlexeyKhristov
8804b7ba6f
add this.req check for querystring()
2015-08-22 14:40:36 -07:00
Sterling Williams
391650518f
Do not log on expected http errors
2015-08-22 14:39:38 -07: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
8b14b91bae
remove body empty detect
2015-03-29 14:40:09 +08:00
fengmk2
1edd6ec69a
test: improve test coverage for application and response
2015-03-29 14:40:09 +08:00
Jonathan Ong
c5545cd918
add experimental async function support
2015-02-14 17:33:08 -08:00
Douglas Christopher Wilson
9dd99f5da2
Parse Content-Type with "content-type" instead of "media-typer"
2015-02-07 21:24:04 -05:00
Jonathan Ong
5b7587bb7e
use Object.setPrototypeOf() instead of __proto__
2015-02-01 16:39:44 -08:00
Jesus Rodriguez
68843e0cb3
Remove unused imports and exports
2015-01-29 15:39:06 -08:00
Jesús Rodríguez Rodríguez
6c340455f8
Change request's "ips" regex to match others.
...
So I am in this silly quest of cloning the repo, deleting all the code on it and rewriting it again step by step to pass the tests. It is a acceptable way to learn how koa works.
Anyway, I saw that the regex used in `ips` doesn't match the others on the file, so I thought it would be good to change it.
2015-01-29 17:51:09 +01:00
TJ Holowaychuk
255a39b876
refactor res.append()
...
OCDOCDOCD
2015-01-27 10:14:57 -08:00
dead_horse
5a3f32dfdd
Add res.append(field, val) to append headers
2015-01-26 02:20:08 +08:00
Rui Marinho
d108926f46
Fix url.format usage of path on node@0.11.15
...
node@0.11.15 was released with a patch that adds support for `path` to
url.format
(d312b6d15c
).
However, this broke `npm install` for git+ssh urls and as such has been
reverted on io.js, making it work like on node@0.11.14 again.
913addbff5
2015-01-23 02:09:21 +00: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
TJ Holowaychuk
e4076ce930
remove x-powered-by. Closes #372
2014-12-04 01:01:57 -08:00
zensh
28ec7892a8
remove unnecessary "require('http')"
2014-11-29 09:42:01 +08:00
dead_horse
57eb6a10df
set content-type for redirect when accpect plain
2014-11-27 09:25:44 -08:00
TJ Holowaychuk
b854d00363
Merge pull request #366 from MatthewMueller/master
...
add: ctx.locals as a recommended namespace for passing information to the frontend
2014-11-18 08:19:19 -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
3f183a196b
upgrade co@4
2014-11-17 21:21:00 +08:00
dead_horse
eff4886cd8
ocd
2014-11-16 21:52:14 +08:00
dead_horse
efdd7d3716
less strict for status, close #350
...
add res.message[=]
2014-10-09 23:20:53 +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
TJ Holowaychuk
7b3e3cbad5
add fn assertion to app.use(). Closes #337
2014-08-20 13:28:34 -07: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
Jonathan Ong
920909c546
dethroy -> destroy
2014-08-14 23:34:25 -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
1605f33760
add context.inspect(), cleanup app.inspect()
...
closes #323 closes #250
2014-08-02 18:24:53 -07:00
dead_horse
fd019688ec
use parseurl
2014-07-14 17:57:03 +08:00
dead_horse
5b18f8bab0
parse req.type by media-typer
2014-07-09 23:52:56 +08:00
Jonathan Ong
690604b6d2
remove this.error()
...
it’s been deprecated for long enough
2014-07-06 02:36:12 -07: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
TJ Holowaychuk
696d55d73b
refactor res.status=
2014-06-10 14:33:13 -07:00
TJ Holowaychuk
ed8beb7d79
Merge pull request #299 from tmilewski/remove-status-as-string
...
remove .status=string
2014-06-10 14:32:13 -07:00
TJ Holowaychuk
71536b35be
remove res.statusString
2014-06-10 14:31:41 -07:00
tmilewski
c2322f2b3d
remove .status=string #298
2014-06-10 16:38:25 -04:00
Jonathan Ong
4a6b49cd30
delegate: remove this.append()
2014-06-07 03:48:03 -07:00
Jonathan Ong
dc59a604e5
Merge pull request #292 from koajs/context-delegate
...
context: delegate etag/last-modified
2014-06-07 03:39:19 -07: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
TJ Holowaychuk
90c528c5e8
remove if (!err) from app.onerror
...
we assert instanceof Error right below
2014-06-05 16:37:28 -07:00
Jonathan Ong
01dd6a33c5
context: delegate etag/last-modified
2014-06-05 16:19:29 -07:00
Jonathan Ong
fdbd16acc3
remove response.append(), use vary module
2014-06-05 16:06:15 -07:00
dead_horse
4979077562
assert non-error obj pass to app.onerror, fixed #287
2014-06-04 14:16:25 +08: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
dead_horse
f76268ba58
remove req.host=, fix docs
2014-05-05 12:45:33 +08:00
TJ Holowaychuk
1d9a0e1d31
ocd
2014-05-02 12:21:55 -07:00
Yazhong Liu
b969ecf223
request: complete idempotent methods
...
see rfc2616: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html#sec9.1 .
Intact idempotent HTTP methods should be:
GET, HEAD, PUT, DELETE, OPTIONS and TRACE
2014-05-03 02:56:08 +08:00
TJ Holowaychuk
c16211c5d6
refactor
2014-05-01 17:46:09 -07: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
4ff54e5c13
ocd
2014-05-01 16:25:08 -07:00
TJ Holowaychuk
80ace2c0bb
add nicer error formatting
2014-05-01 16:18:40 -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
TJ Holowaychuk
952dca336d
rename setType -> getType
...
sounds weird
2014-04-28 20:12:53 -07:00
Jonathan Ong
163e59c0d5
refactor to use set-type
2014-04-27 01:53:07 -07:00
Jonathan Ong
0cacc5706a
use koa-is-json
2014-04-25 00:15:33 -07:00
TJ Holowaychuk
94dd87741e
ocd
2014-04-24 17:58:37 -07:00
dead_horse
6a2ed3e6eb
assert object type in ctx.onerror
2014-04-25 08:34:11 +08:00
dead_horse
5de9d962a0
remove unused debug
2014-04-25 00:07:37 +08:00
Jonathan Ong
e472a18010
refactor: use mime-extended
2014-04-19 07:45:57 -07:00
TJ Holowaychuk
74cb04e7c1
refactor
2014-04-15 08:39:40 -07:00
TJ Holowaychuk
0a954c8d99
ocd
2014-04-15 08:35:10 -07:00
dead_horse
b06bb3cb85
simplify respond
2014-04-15 23:31:11 +08:00
TJ Holowaychuk
990caf4e71
refactor
2014-04-14 15:36:39 -07: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
TJ Holowaychuk
bb0a0b3659
ocd
2014-04-12 10:59:04 -07: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
TJ Holowaychuk
dfe8e95be4
remove ctx.inspect() implementation. Closes #164
...
obscures user-defned properties. ideally we fix it so .req / .res are not so verbose but meh for now
2014-04-05 19:15:14 -07: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
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