You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
762 B
26 lines
762 B
3 years ago
|
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()
|
||
|
}
|
||
|
}
|