UNPKG

web-dev-server

Version:

Node.js simple http server for common development or training purposes.

56 lines 2.64 kB
Object.defineProperty(exports, "__esModule", { value: true }); exports.Headers = void 0; var mimeDb = require('mime-db'); var Headers = /** @class */ (function () { function Headers() { } Headers.GetMimeTypeByExtension = function (extension) { if (Headers.extensions === null) Headers.initMimeTypesAndExtensions(); if (Headers.extensions[extension]) return Headers.extensions[extension]; return null; }; Headers.GetExtensionByMimeType = function (mimeType) { if (Headers.mimes === null) Headers.initMimeTypesAndExtensions(); if (Headers.mimes[mimeType]) return Headers.mimes[mimeType]; return null; }; Headers.initMimeTypesAndExtensions = function () { var preferences = ['nginx', 'apache', undefined, 'iana'], appOctetStreamMime = 'application/octet-stream', mimesStore = Object.create(null), extensionsStore = Object.create(null); Object.keys(mimeDb).forEach(function (mimeType) { var mimeRec = mimeDb[mimeType], extensions = mimeRec.extensions, extension, anotherMimeType, anotherMimeRec, anotherMimeRecSource, fromIndex, toIndex; if (!extensions || !extensions.length) return; mimesStore[mimeType] = extensions; for (var i = 0, l = extensions.length; i < l; i++) { extension = extensions[i]; if (extensionsStore[extension]) { anotherMimeType = extensionsStore[extension]; anotherMimeRec = mimeDb[anotherMimeType]; if (anotherMimeRec !== null && anotherMimeRec.source) { anotherMimeRecSource = anotherMimeRec.source; fromIndex = preferences.indexOf(anotherMimeRecSource); toIndex = preferences.indexOf(mimeRec.source); } if (extensionsStore[extension] !== appOctetStreamMime && (fromIndex > toIndex || (fromIndex === toIndex && extensionsStore[extension].substr(0, 12) === 'application/'))) { // skip remapping continue; } } extensionsStore[extension] = mimeType; } }); Headers.mimes = mimesStore; Headers.extensions = extensionsStore; }; Headers.mimes = null; Headers.extensions = null; return Headers; }()); exports.Headers = Headers; //# sourceMappingURL=MimeTypes.js.map