docs: add note about confusing context accessors
This commit is contained in:
parent
a9149f07ad
commit
abb5686d5b
1 changed files with 7 additions and 5 deletions
|
@ -3,12 +3,8 @@
|
||||||
A Koa Context encapsulates node's `request` and `response` objects
|
A Koa Context encapsulates node's `request` and `response` objects
|
||||||
into a single object which provides many helpful methods for writing
|
into a single object which provides many helpful methods for writing
|
||||||
web applications and APIs.
|
web applications and APIs.
|
||||||
|
|
||||||
Many accessors and methods simply delegate to their `ctx.request` or `ctx.response`
|
|
||||||
equivalents for convenience, and are otherwise identical.
|
|
||||||
|
|
||||||
These operations are used so frequently in HTTP server development
|
These operations are used so frequently in HTTP server development
|
||||||
that they are added at this level, instead of a higher level framework,
|
that they are added at this level instead of a higher level framework,
|
||||||
which would force middleware to re-implement this common functionality.
|
which would force middleware to re-implement this common functionality.
|
||||||
|
|
||||||
A `Context` is created _per_ request, and is referenced in middleware
|
A `Context` is created _per_ request, and is referenced in middleware
|
||||||
|
@ -23,6 +19,12 @@ app.use(function *(){
|
||||||
});
|
});
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Many of the context's accessors and methods simply delegate to their `ctx.request` or `ctx.response`
|
||||||
|
equivalents for convenience, and are otherwise identical.
|
||||||
|
In general, getters are delegated to `ctx.request` and setters are delegated to `ctx.response`.
|
||||||
|
For example, `this.length` returns the request's `content-length`, whereas `this.length = 1024` sets the response's `content-length` to `1024`.
|
||||||
|
If this confuses you, simply use `ctx.request` or `ctx.response` directly.
|
||||||
|
|
||||||
## API
|
## API
|
||||||
|
|
||||||
`Context` specific methods and accessors.
|
`Context` specific methods and accessors.
|
||||||
|
|
Loading…
Reference in a new issue