next
Version:
The React Framework
51 lines (50 loc) • 1.48 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.serveStatic = serveStatic;
exports.getContentType = getContentType;
exports.getExtension = getExtension;
var _send = _interopRequireDefault(require("next/dist/compiled/send"));
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
default: obj
};
}
function serveStatic(req, res, path) {
return new Promise((resolve, reject)=>{
(0, _send).default(req, path).on('directory', ()=>{
// We don't allow directories to be read.
const err = new Error('No directory access');
err.code = 'ENOENT';
reject(err);
}).on('error', reject).pipe(res).on('finish', resolve);
});
}
function getContentType(extWithoutDot) {
if (extWithoutDot === 'avif') {
// TODO: update "mime" package
return 'image/avif';
}
const { mime } = _send.default;
if ('getType' in mime) {
// 2.0
return mime.getType(extWithoutDot);
}
// 1.0
return mime.lookup(extWithoutDot);
}
function getExtension(contentType) {
if (contentType === 'image/avif') {
// TODO: update "mime" package
return 'avif';
}
const { mime } = _send.default;
if ('getExtension' in mime) {
// 2.0
return mime.getExtension(contentType);
}
// 1.0
return mime.extension(contentType);
}
//# sourceMappingURL=serve-static.js.map
;