1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- /*!
- * compressible
- * Copyright(c) 2013 Jonathan Ong
- * Copyright(c) 2014 Jeremiah Senkpiel
- * Copyright(c) 2015 Douglas Christopher Wilson
- * MIT Licensed
- */
- 'use strict'
- /**
- * Module dependencies.
- * @private
- */
- var db = require('mime-db')
- /**
- * Module variables.
- * @private
- */
- var compressibleTypeRegExp = /^text\/|\+json$|\+text$|\+xml$/i
- var extractTypeRegExp = /^\s*([^;\s]*)(?:;|\s|$)/
- /**
- * Module exports.
- * @public
- */
- module.exports = compressible
- /**
- * Checks if a type is compressible.
- *
- * @param {string} type
- * @return {Boolean} compressible
- * @public
- */
- function compressible (type) {
- if (!type || typeof type !== 'string') {
- return false
- }
- // strip parameters
- var match = extractTypeRegExp.exec(type)
- var mime = match && match[1].toLowerCase()
- var data = db[mime]
- if ((data && data.compressible) || compressibleTypeRegExp.test(mime)) {
- return true
- }
- return data
- ? data.compressible
- : undefined
- }
|