code: function headersGetter(headers) {
    var headersObj = isObject(headers) ? headers : undefined;
  
    return function(name) {
      if (!headersObj) headersObj =  parseHeaders(headers);
  
      if (name) {
        return headersObj[lowercase(name)] || null;
      }
  
      return headersObj;
    };
  }
docs: Returns a function that provides access to parsed headers.
  
  Headers are lazy parsed when first requested.
  @see parseHeaders
  
  @param {(string|Object)} headers Headers to provide access to.
  @returns {function(string=)} Returns a getter function which if called with:
  
  - if called with single an argument returns a single header value or null
  - if called with no arguments returns an object containing all headers.