rest-api-handler
Version:
Handler for REST APIs
25 lines (24 loc) • 911 B
TypeScript
import { ApiExceptionConstructor } from './DefaultApiException';
export declare type BodyDecoder<Decoded> = (response: Response) => Promise<Decoded>;
export interface ApiResponseType<Respond = any> {
data: Respond;
request: Request;
source: Response;
status: number;
}
/**
* Processor provider that process response from API and throw custom Exception.
*/
export default class DefaultResponseProcessor<ResponseType = any> {
private Exception;
private decoder;
/**
* Constructor.
*
* @param Exception - Exception class that will be throwed if request fails.
* @param decoder - Define custom response body decoder.
*/
constructor(Exception: ApiExceptionConstructor<ResponseType>, decoder?: BodyDecoder<ResponseType>);
processResponse(response: Response, request: Request): Promise<ApiResponseType<ResponseType>>;
private static decodeResponse;
}