diff --git a/lib/extend/controller.js b/lib/extend/controller.js index 1a30ff45..a05ae5a7 100644 --- a/lib/extend/controller.js +++ b/lib/extend/controller.js @@ -1,5 +1,5 @@ const helper = require('think-helper'); - +const debug = require('debug')('thinkjs'); const deprecate = require('depd')('thinkjs'); /** @@ -145,13 +145,19 @@ module.exports = { * @param {Mixed} value */ header(name, value){ + if(value === undefined && helper.isString(name)){ + return this.ctx.header[name]; + } + if(this.ctx.res.headersSent){ + debug(`headers has already sent, url: ${this.ctx.url}`); + return; + } if(value !== undefined){ return this.ctx.set(name, value); } if(helper.isObject(name)){ return this.ctx.set(name); } - return this.ctx.header[name]; }, /** * get userAgent header