UNPKG

node-web-mvc

Version:
35 lines (34 loc) 1.12 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); /** * @module GzipResource */ const zlib_1 = __importDefault(require("zlib")); const HttpHeaders_1 = __importDefault(require("../http/HttpHeaders")); const HttpResource_1 = __importDefault(require("./HttpResource")); class GzipResource extends HttpResource_1.default { constructor(resource) { super(resource.url); this.resource = resource; } get mediaType() { return this.resource.mediaType; } getInputStream() { const stream = this.resource.getInputStream(); return stream.pipe(zlib_1.default.createGzip()); } getInputRangeStream(start, end) { const stream = this.resource.getInputRangeStream(start, end); return stream.pipe(zlib_1.default.createGunzip()); } getResponseHeaders() { return { [HttpHeaders_1.default.CONTENT_ENCODING]: 'gzip', }; } } exports.default = GzipResource;