1.0.0 • Published 7 years ago

trooba-toobusy-handler v1.0.0

Weekly downloads
3
License
MIT
Repository
github
Last release
7 years ago

trooba-toobusy-handler

The module provides trooba too-busy handler. The handler is based on hystrix-too-busy module

codecov Build Status NPM Downloads Known Vulnerabilities

Install

$ npm install trooba-toobusy-handler -S

Usage

const toobusy = require('trooba-toobusy-handler');

toobusy.configure({
    latencyThreshold: 70,
    interval: 500,
    default: {
        circuitBreakerErrorThresholdPercentage: 50,
        circuitBreakerRequestVolumeThreshold: 20,
        circuitBreakerSleepWindowInMilliseconds: 5000
    }
});

require('trooba')
// optional: command resolver used by toobusy
.use(pipe => {
    pipe.on('request', request => {
        pipe.context.command =
            request.path === '/' ? 'homeCommand' : 'otherCommand';
    });
})
// add toobusy
.use(toobusy)
// add http transport
.use('trooba-http-transport', {
    protocol: 'http:',
    hostname: 'www.google.com'
})
.build('client:default')
.get({
    q: 'nike'
})
.set('some', 'header')
.end(function (err, response) {
    console.log(err, response && response.body)
});