Abstract out DataContainer into interface
This commit is contained in:
parent
574ddbe9cb
commit
26d54033af
@ -39,11 +39,18 @@ export interface HTTPSourceAddress {
|
|||||||
port: number;
|
port: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Interface describing a container that holds user input data.
|
||||||
|
*/
|
||||||
|
export interface DataContainer {
|
||||||
|
input(key?: string): any
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A class that represents an HTTP request from a client.
|
* A class that represents an HTTP request from a client.
|
||||||
*/
|
*/
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class Request extends ScopedContainer {
|
export class Request extends ScopedContainer implements DataContainer {
|
||||||
|
|
||||||
/** The cookie manager for the request. */
|
/** The cookie manager for the request. */
|
||||||
public readonly cookies: HTTPCookieJar;
|
public readonly cookies: HTTPCookieJar;
|
||||||
@ -170,7 +177,15 @@ export class Request extends ScopedContainer {
|
|||||||
* Get the value of an input field on the request. Spans multiple input sources.
|
* Get the value of an input field on the request. Spans multiple input sources.
|
||||||
* @param key
|
* @param key
|
||||||
*/
|
*/
|
||||||
public input(key: string) {
|
public input(key?: string) {
|
||||||
|
if ( !key ) {
|
||||||
|
return {
|
||||||
|
...this.parsedInput,
|
||||||
|
...this.query,
|
||||||
|
...this.uploadedFiles,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ( key in this.parsedInput ) {
|
if ( key in this.parsedInput ) {
|
||||||
return this.parsedInput[key]
|
return this.parsedInput[key]
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user