UNPKG

zyf-server

Version:

A modern HTTP static file server with Vue SSR directory listing, built for developers

45 lines 1.36 kB
"use strict"; /** * 压缩服务 * 处理HTTP响应压缩 */ Object.defineProperty(exports, "__esModule", { value: true }); exports.CompressionService = void 0; const zlib_1 = require("zlib"); class CompressionService { /** * 检查请求是否支持压缩 */ isSupported(req) { const acceptEncoding = req.headers['accept-encoding']; return Boolean(acceptEncoding); } /** * 获取最佳压缩格式 */ getBestEncoding(req) { const acceptEncoding = req.headers['accept-encoding'] || ''; if (acceptEncoding.includes('gzip')) { return "gzip" /* CompressionEncoding.GZIP */; } if (acceptEncoding.includes('deflate')) { return "deflate" /* CompressionEncoding.DEFLATE */; } return null; } /** * 创建压缩流 */ createCompressionStream(encoding) { switch (encoding) { case "gzip" /* CompressionEncoding.GZIP */: return (0, zlib_1.createGzip)(); case "deflate" /* CompressionEncoding.DEFLATE */: return (0, zlib_1.createDeflate)(); default: throw new Error(`Unsupported compression encoding: ${encoding}`); } } } exports.CompressionService = CompressionService; //# sourceMappingURL=CompressionService.js.map