code: function (type, disposition) {
          Header.isHeader(type) && (type = type.value);
          Header.isHeader(disposition) && (disposition = disposition.value);
  
          // validate that the content type exists
          if (!(type && _.isString(type))) { return; }
  
          var normalised = mimeFormat.lookup(type),
              info = {};
  
          _.assign(info, {
              type: normalised.type, // sanitised mime type base
              format: normalised.format, // format specific to the type returned
              name: DEFAULT_RESPONSE_FILENAME,
              ext: mimeType.extension(normalised.source) || E, // file extension from sanitised content type
              charset: normalised.charset || UTF8,
  
              // also storing some meta info for possible debugging
              _originalContentType: type, // the user provided mime type
              _sanitisedContentType: normalised.source, // sanitised mime type
              _accuratelyDetected: !normalised.orphan // this being true implies worse case (raw render)
          });
  
          // build the file name from extension
          info.filename = info.name;
          info.ext && (info.filename += (DOT + info.ext));
  
          return info;
      }
docs: @private
  
  @param {String|Header} type
  @param {String|Header} disposition
  @returns {Object}
  
  @deprecated To be removed in 4.0. Use {@link Response#contentInfo} contentInfo instead.