intercepects / modifies requests as they pass between endpoints
const { Interceptor } from '@kronos-integration/interceptor';
const endpoint = { get name() { return 'aName'; }, receive() {}};
const interceptor = new Interceptor();
const response = interceptor.receive(endpoint, arg1, arg2);- Endpoint
- Interceptor
- IntervalInterceptor
- LimitingInterceptor
- LoggingInterceptor
- StatsCollectorInterceptor
- TemplateInterceptor
- TimeoutInterceptor
- rejectUnlessResolvedWithin
Type: Object
Base interceptor. The base class for all the interceptors Calls configure() and reset().
configObject?
The instance method returning the type. Defaults to the constructors name (class name)
Returns string
Meta description of the configuration.
Returns Object
Takes attribute values from config parameters and copies them over to the object. Copying is done according to attributes. Which means we loop over all configuration attributes and then for each attribute decide if we use the default, call a setter function or simply assign the attribute value.
configObject?
Deliver the json representation.
options
Returns Object json representation
Forget all accumulated information.
The receive method. This method receives the request from the leading interceptor and calls the trailing interceptor.
Returns Promise<any>
Meta description of the configuration
Returns Object
Extends Interceptor
Only passes requests after inteval time has passed
intervalnumber
Returns string 'interval'
Extends Interceptor
Limits the number of concurrent requests. Requests can be delayed or rejected. Sample config: [ { count: 20 }, { count: 10, delay: 100 }, { count: 5, delay: 10 } ] 1 - 4 : no delay 5 - 9 : 10ms delay 10 - 19 : 100ms delay 20 : reject default is to reject when more than 10 requests are on the way
configObject?
Returns string 'request-limit'
Extends Interceptor
logs args and result
Returns string 'logging'
Extends Interceptor
Interceptor to collect processing time, number of processed and failed requests.
Logs the time the requests takes
endpointnextargs...any
Returns string 'collect-request-stats'
Extends Interceptor
Map params into requests.
Returns string 'template'
Extends Interceptor
Rejects a request if it does not resolve in a given time.
timeoutnumber
Returns string 'timeout'
Rejects promise when it is not resolved within given timeout.
promisePromise<any>timeoutnumber in milisecondssourceInterceptor
Returns Promise<any>
With npm do:
npm install @kronos-integration/interceptorBSD-2-Clause