import { RequestInterceptor } from '../interceptor/RequestInterceptor' ; import { ResponseInterceptor } from '../interceptor/ResponseInterceptor' ; import { RequestHandler } from './RequestHandler' ; import { RequestHandlerChain } from './RequestHandlerChain' ; /**
 * Generic implementation of  RequestHandlerChain .
  export class GenericRequestHandlerChain < Input , Output > implements RequestHandlerChain < Input , Output > { protected requestHandler : RequestHandler < Input , Output > ; protected requestInterceptors : Array < RequestInterceptor < Input > > ; protected responseInterceptors : Array < ResponseInterceptor < Input , Output > > ; constructor ( options ) { this . requestHandler = options . requestHandler ; this . requestInterceptors = options . requestInterceptors ; this . responseInterceptors = options . responseInterceptors ; } public getRequestHandler ( ) { return this . requestHandler ; } public getRequestInterceptors ( ) { return this . requestInterceptors ; } public getResponseInterceptors ( ) { return this . responseInterceptors ; } }