@breautek/storm
Version:
Object-Oriented REST API framework
48 lines (47 loc) • 2.42 kB
TypeScript
import { Application } from './Application';
import { Request } from './Request';
import { Response, TSupportedResponseTypes } from './Response';
import { Middleware } from './Middleware';
import { StormError } from './StormError';
import { ResponseData } from './ResponseData';
export declare class Handler<TApplication extends Application = Application, TGetRequest = void, TGetResponse extends TSupportedResponseTypes = TSupportedResponseTypes, TPostRequest = void, TPostResponse extends TSupportedResponseTypes = TSupportedResponseTypes, TPutRequest = void, TPutResponse extends TSupportedResponseTypes = TSupportedResponseTypes, TDeleteRequest = void, TDeleteResponse extends TSupportedResponseTypes = TSupportedResponseTypes> {
private static $requestDuration;
private $app;
/**
* @deprecated
*/
private $middlewares;
constructor(app: TApplication);
getApplication(): TApplication;
/**
* @deprecated
*/
protected _initMiddlewares(): Middleware[];
getAccessToken(request: Request<unknown>): string;
/**
* @deprecated
* @param request
* @param response
* @returns
*/
private $executeMiddlewares;
/**
* @deprecated
* @param request
* @param response
* @param error
*/
protected _onMiddlewareReject(request: Request, response: Response<any>, error: StormError): void;
private $handleResponse;
private $handleResponseError;
protected _logRequestStart(request: Request<unknown>): void;
protected _logRequestEnd(request: Request<unknown>, response: Response<any>, elapsed: number): void;
get(request: Request<TGetRequest>, response: Response<TGetResponse>): Promise<void>;
put(request: Request<TPutRequest>, response: Response<TPutResponse>): Promise<void>;
post(request: Request<TPostRequest>, response: Response<TPostResponse>): Promise<void>;
delete(request: Request<TDeleteRequest>, response: Response<TDeleteResponse>): Promise<void>;
protected _get(request: Request<TGetRequest>): Promise<TGetResponse | ResponseData<TGetResponse>>;
protected _post(request: Request<TPostRequest>): Promise<TPostResponse | ResponseData<TPostResponse>>;
protected _put(request: Request<TPutRequest>): Promise<TPutResponse | ResponseData<TPutResponse>>;
protected _delete(request: Request<TDeleteRequest>): Promise<TDeleteResponse | ResponseData<TDeleteResponse>>;
}