Difference between res.setHeader and res.header in node.js

后端 未结 4 1657
太阳男子
太阳男子 2020-12-25 12:54

What is the difference between res.setHeader and res.header. Which one should be used for enabling CORS? In some pages res.header is used and some pages res.setHeader is use

4条回答
  •  清酒与你
    2020-12-25 12:58

    Addition to high-voting answers, set is alias header which calls setHeader to set a header. here is the source code:

    res.set =
    res.header = function header(field, val) {
      if (arguments.length === 2) {
        var value = Array.isArray(val)
          ? val.map(String)
          : String(val);
    
        // add charset to content-type
        if (field.toLowerCase() === 'content-type') {
          if (Array.isArray(value)) {
            throw new TypeError('Content-Type cannot be set to an Array');
          }
          if (!charsetRegExp.test(value)) {
            var charset = mime.charsets.lookup(value.split(';')[0]);
            if (charset) value += '; charset=' + charset.toLowerCase();
          }
        }
    
        this.setHeader(field, value);
      } else {
        for (var key in field) {
          this.set(key, field[key]);
        }
      }
      return this;
    };
    

    Also see GitHub here

提交回复
热议问题