add createContext()
This commit is contained in:
parent
aa8475dc78
commit
8ccfc14e88
1 changed files with 20 additions and 7 deletions
|
@ -37,11 +37,7 @@ function Application() {
|
|||
this.poweredBy = true;
|
||||
this.jsonSpaces = 2;
|
||||
this.middleware = [];
|
||||
this._Context = function Context(app, req, res){
|
||||
this.app = app;
|
||||
this.req = req;
|
||||
this.res = res;
|
||||
}
|
||||
this.Context = createContext();
|
||||
this.context(context);
|
||||
}
|
||||
|
||||
|
@ -101,7 +97,7 @@ app.use = function(fn){
|
|||
*/
|
||||
|
||||
app.context = function(obj){
|
||||
var ctx = this._Context.prototype;
|
||||
var ctx = this.Context.prototype;
|
||||
Object.getOwnPropertyNames(obj).forEach(function(name){
|
||||
var descriptor = Object.getOwnPropertyDescriptor(obj, name);
|
||||
Object.defineProperty(ctx, name, descriptor);
|
||||
|
@ -123,7 +119,7 @@ app.callback = function(){
|
|||
var self = this;
|
||||
|
||||
return function(req, res){
|
||||
var ctx = new self._Context(self, req, res);
|
||||
var ctx = new self.Context(self, req, res);
|
||||
|
||||
function done(err) {
|
||||
if (err) ctx.error(err);
|
||||
|
@ -198,9 +194,26 @@ function respond(next){
|
|||
|
||||
/**
|
||||
* Default downstream middleware.
|
||||
*
|
||||
* @api private
|
||||
*/
|
||||
|
||||
function *downstream() {
|
||||
this.status = 200;
|
||||
if (this.app.poweredBy) this.set('X-Powered-By', 'koa');
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new `Context` constructor.
|
||||
*
|
||||
* @return {Function}
|
||||
* @api private
|
||||
*/
|
||||
|
||||
function createContext() {
|
||||
return function Context(app, req, res){
|
||||
this.app = app;
|
||||
this.req = req;
|
||||
this.res = res;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue