abstract class HttpHandler { protected abstract order: number; protected abstract route: string | null; protected abstract action: (...any: any[]) => any; protected context: any; public constructor(context: Record) { this.context = context ?? null; } public setContext(context: Record): HttpHandler { this.context = context; return this; } public getContext(): Record { return this.context; } public getRoute(): string | null { return this.route; } public getAction(): (...any: any[]) => any { return this.action; } public getOrder(): number { return this.order; } } export { HttpHandler };