UNPKG

rest-api-handler

Version:
25 lines (24 loc) 911 B
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; }