fix(core): update

This commit is contained in:
2024-01-09 10:14:06 +01:00
parent 65c868aefe
commit fb2692b50e
5 changed files with 47 additions and 17 deletions

View File

@@ -2,7 +2,7 @@ import * as plugins from '../typedserver.plugins.js';
import * as interfaces from '../interfaces/index.js';
import { Handler } from './classes.handler.js';
import { Compressor } from './classes.compressor.js';
import { Compressor, type TCompressionMethod, type ICompressionResult } from './classes.compressor.js';
export class HandlerStatic extends Handler {
public compressor = new Compressor();
@@ -13,6 +13,8 @@ export class HandlerStatic extends Handler {
responseModifier?: interfaces.TResponseModifier;
headers?: { [key: string]: string };
serveIndexHtmlDefault?: boolean;
enableCompression?: boolean;
preferredCompressionMethod?: 'gzip' | 'deflate' | 'br';
}
) {
super('GET', async (req, res) => {
@@ -118,10 +120,16 @@ export class HandlerStatic extends Handler {
}
// lets finally deal with compression
const compressionResult = await this.compressor.maybeCompress(requestHeaders, fileBuffer);
let compressionResult: ICompressionResult;
if (optionsArg && optionsArg.enableCompression) {
compressionResult = await this.compressor.maybeCompress(requestHeaders, fileBuffer);
}
res.status(200);
res.header('Content-Encoding', compressionResult.compressionMethod);
if (compressionResult?.compressionMethod) {
res.header('Content-Encoding', compressionResult.compressionMethod);
}
res.write(compressionResult.result);
res.end();
});