From b105a61ca2870b19e3942db5814bbb3dc73b316c Mon Sep 17 00:00:00 2001 From: garrettmills Date: Thu, 16 Dec 2021 14:02:15 -0600 Subject: [PATCH] Add RequestClass to override AppClass --- src/http/RequestClass.ts | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 src/http/RequestClass.ts diff --git a/src/http/RequestClass.ts b/src/http/RequestClass.ts new file mode 100644 index 0000000..7b08072 --- /dev/null +++ b/src/http/RequestClass.ts @@ -0,0 +1,25 @@ +import {AppClass} from '../lifecycle/AppClass' +import {Container, Inject, Injectable} from '../di' +import {RequestLocalStorage} from './RequestLocalStorage' +import {Request} from './lifecycle/Request' + +/** + * Base for classes that gives access to the global application and request container. + * + * Similar to AppClass, but provides the Request instead of the Container. + */ +@Injectable() +export class RequestClass extends AppClass { + @Inject() + protected readonly requestClassStorage!: RequestLocalStorage + + /** Get the request container. **/ + protected container(): Container { + return this.requestClassStorage.get() + } + + /** Get the request. */ + protected request(): Request { + return this.requestClassStorage.get() + } +}