hypershield
Version:
Middleware suite for high-performance and resilient APIs
44 lines • 1.14 kB
TypeScript
import { RequestHandler } from 'express';
export interface CompressionConfig {
enabled: boolean;
type: 'gzip';
level?: number;
threshold?: number;
}
export interface HyperShieldConfig {
compression?: CompressionConfig;
cache?: {
enabled?: boolean;
provider?: 'redis' | 'memory';
ttl?: number;
};
metrics?: {
enabled?: boolean;
path?: string;
};
}
export interface CacheOptions {
ttl?: number;
tags?: string[];
}
export interface CompressionOptions {
level?: number;
threshold?: number;
filter?: (req: any, res: any) => boolean;
}
export interface MetricsOptions {
path?: string;
labels?: Record<string, string>;
}
export declare class HyperShield {
private config;
private initialized;
constructor(config?: HyperShieldConfig);
private validateConfig;
initialize(): void;
compression(_options?: CompressionOptions): RequestHandler;
cache(_options?: CacheOptions): RequestHandler;
metrics(_options?: MetricsOptions): RequestHandler;
getMetrics(): Promise<string>;
}
//# sourceMappingURL=index.d.ts.map