{"_id":"circuit-breaker-as-promised","_rev":"118-d0827a7a9985472a8c4d35ea89d27ec7","name":"circuit-breaker-as-promised","dist-tags":{"latest":"1.1.0"},"versions":{"1.0.0":{"name":"circuit-breaker-as-promised","version":"1.0.0","keywords":["promise","circuit","breaker","hysterix"],"author":{"name":"Mike Atkins"},"license":"MIT","_id":"circuit-breaker-as-promised@1.0.0","maintainers":[{"name":"apechimp","email":"apeherder@gmail.com"}],"homepage":"https://github.com/lanetix/node-circuit-breaker-as-promised","bugs":{"url":"https://github.com/lanetix/node-circuit-breaker-as-promised/issues"},"dist":{"shasum":"d2798b2e87aa9866373a0040c7486f1f37af2802","tarball":"https://registry.npmjs.org/circuit-breaker-as-promised/-/circuit-breaker-as-promised-1.0.0.tgz","integrity":"sha512-FF052TeV2B2vfzp64WZnuFNAURmzY9r1Q0kyEXcqi2sr9k1pVBhkoC+cZLMW6mhbLOdTd4tb9JPsUjcAxsS7rQ==","signatures":[{"sig":"MEQCIEjhyujSVgLiH8dBXeBWRlVuYbe9LywWbNT1EPcSLyNjAiBvaEic0JlST/lg7wrVT3ZCuQRNPEu36D7uZ/+CQyW8iw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"d2798b2e87aa9866373a0040c7486f1f37af2802","gitHead":"75c91f0d5ddbbd17de55a0d4b73f4f858a7896c0","scripts":{"test":"standard && node test"},"_npmUser":{"name":"apechimp","email":"apeherder@gmail.com"},"repository":{"url":"git+https://github.com/lanetix/node-circuit-breaker-as-promised.git","type":"git"},"_npmVersion":"2.11.3","description":"Hysterix-like circuit breaker with promise api","directories":{},"_nodeVersion":"0.10.39","dependencies":{"bluebird":"^2.9.33","make-error":"^1.0.2","circuit-breaker-js":"0.0.1"},"devDependencies":{"tap":"^1.3.1","tape":"^4.0.0","ramda":"^0.16.0","standard":"^4.5.3"}},"1.0.1":{"name":"circuit-breaker-as-promised","version":"1.0.1","keywords":["promise","circuit","breaker","hysterix"],"author":{"name":"Mike Atkins"},"license":"MIT","_id":"circuit-breaker-as-promised@1.0.1","maintainers":[{"name":"apechimp","email":"apeherder@gmail.com"},{"name":"lanetix","email":"engineering@lanetix.com"}],"homepage":"https://github.com/lanetix/node-circuit-breaker-as-promised","bugs":{"url":"https://github.com/lanetix/node-circuit-breaker-as-promised/issues"},"dist":{"shasum":"86c7aa44ba06deb4223b89a8ebfe1d41c05829b0","tarball":"https://registry.npmjs.org/circuit-breaker-as-promised/-/circuit-breaker-as-promised-1.0.1.tgz","integrity":"sha512-IObG6+QbEEeMUS+RlF46aLC6s7382vaMPnkAvkjuTSZfvuIFZg9sMPT0OnYNiP9nig+JH71D/bhlnoCpNq2j6A==","signatures":[{"sig":"MEUCIEwDuoB5AjTzr0V5xtVMr5Zux0V4FoYUl+dh/v+KH27eAiEAl4RiUivEbF95mrvmlsgXkTNh7ObUv3vpVQ8l39yWLAM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"86c7aa44ba06deb4223b89a8ebfe1d41c05829b0","gitHead":"41591be73387f1e6fb76d68c61fb3d2e6a9af4eb","scripts":{"test":"standard && node test"},"_npmUser":{"name":"apechimp","email":"apeherder@gmail.com"},"repository":{"url":"https://github.com/lanetix/node-circuit-breaker-as-promised","type":"git"},"_npmVersion":"2.5.1","description":"Hysterix-like circuit breaker with promise api","directories":{},"_nodeVersion":"0.12.0","dependencies":{"bluebird":"^2.9.33","make-error":"^1.0.2","circuit-breaker-js":"0.0.1"},"devDependencies":{"tap":"^1.3.1","tape":"^4.0.0","ramda":"^0.16.0","standard":"^4.5.3"}},"1.1.0":{"name":"circuit-breaker-as-promised","version":"1.1.0","keywords":["promise","circuit","breaker","hysterix"],"author":{"name":"Mike Atkins"},"license":"MIT","_id":"circuit-breaker-as-promised@1.1.0","maintainers":[{"name":"apechimp","email":"apeherder@gmail.com"},{"name":"lanetix","email":"engineering@lanetix.com"}],"homepage":"https://github.com/lanetix/node-circuit-breaker-as-promised","bugs":{"url":"https://github.com/lanetix/node-circuit-breaker-as-promised/issues"},"dist":{"shasum":"bd93c6136941c471ce8770e633487d2e89a672c6","tarball":"https://registry.npmjs.org/circuit-breaker-as-promised/-/circuit-breaker-as-promised-1.1.0.tgz","integrity":"sha512-g/qLPGJIvuMKKN+Cdk/cUkW1VEPb3lra8HCD3eiBOOSkquMrWpZryvR+JehkJD/AZgw6VTij1094GqVjRy6+Fw==","signatures":[{"sig":"MEUCIGd4087SmL4m2kJyFozKV2ntGUFg66N8f4W3iQfTBLdOAiEA1ZCKznmE3BfkRiJef30IXSLPfRR+s8S9khZJCR0quBs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}]},"main":"index.js","_from":".","_shasum":"bd93c6136941c471ce8770e633487d2e89a672c6","gitHead":"29c52e77853f37a0b60d335f81bb764ff8237ecb","scripts":{"test":"standard && node test"},"_npmUser":{"name":"lanetix","email":"engineering@lanetix.com"},"repository":{"url":"https://github.com/lanetix/node-circuit-breaker-as-promised","type":"git"},"_npmVersion":"2.5.1","description":"Hysterix-like circuit breaker with promise api","directories":{},"_nodeVersion":"0.12.0","dependencies":{"bluebird":"^2.9.33","make-error":"^1.0.2","circuit-breaker-js":"0.0.1"},"devDependencies":{"tap":"^1.3.1","tape":"^4.0.0","ramda":"^0.16.0","standard":"^4.5.3"}}},"time":{"created":"2015-07-13T18:51:58.659Z","modified":"2026-08-03T11:04:11.650Z","1.0.0":"2015-07-13T18:51:58.659Z","1.0.1":"2015-07-13T19:52:14.439Z","1.1.0":"2015-07-21T20:21:27.545Z"},"bugs":{"url":"https://github.com/lanetix/node-circuit-breaker-as-promised/issues"},"author":{"name":"Mike Atkins"},"license":"MIT","homepage":"https://github.com/lanetix/node-circuit-breaker-as-promised","keywords":["promise","circuit","breaker","hysterix"],"repository":{"url":"https://github.com/lanetix/node-circuit-breaker-as-promised","type":"git"},"description":"Hysterix-like circuit breaker with promise api","maintainers":[{"email":"systems@lanetix.com","name":"lanetix-system"},{"email":"jyothiss@qburst.com","name":"jyothis-qb"},{"email":"manu.kodiyan@winmore.app","name":"manu-kodiyan-winmore"},{"email":"ie_winmore_notify@deloitte.com","name":"dnm-winmore"},{"email":"mkdyanugk@gmail.com","name":"mkdyanugk"},{"email":"vigneshk@qburst.com","name":"vigneshk7"},{"email":"aswanth@qburst.com","name":"aswanth"},{"email":"sajith@qburst.com","name":"sajith.qb"},{"email":"dhiluraj@qburst.com","name":"dhiluraj-qburst"},{"email":"rohith.menon@qburst.com","name":"cdrohithmqb"},{"email":"arjun.venugopal@qburst.com","name":"arjunqb"},{"email":"renjith.ramaswamy@qburst.com","name":"renjith_ram_qburst"},{"email":"sidharth.n@qburst.com","name":"sidharth.n"},{"email":"rahul.bharadwaj@winmore.app","name":"rahulbharadwaj"},{"email":"jasif.shameem@winmore.app","name":"jasif-wm"},{"email":"arpit.shrivastava@winmore.app","name":"arpit1024"},{"email":"showvhick.nath@winmore.app","name":"showvhick-winmore"},{"email":"umesh.sahu@winmore.io","name":"umeshsahu32"},{"email":"karthik.chandran@qburst.com","name":"kaarthikchandran"},{"email":"siddlinga.reddy@winmore.io","name":"siddling"},{"email":"manoj.k@winmore.io","name":"mkdyanugk7"},{"email":"souraj.pal@winmore.io","name":"sourajpal"},{"email":"karan.parmar@winmore.io","name":"karan_winmore"},{"email":"yash.patel@winmore.io","name":"yash.patel.winmore"},{"email":"divyansh@winmore.app","name":"divyansh-winmore"},{"email":"ravi.sah@winmore.app","name":"ravi.sah"},{"email":"subham.jaiswal@winmore.app","name":"dev-saj-winmore"},{"email":"apeherder@gmail.com","name":"apechimp"}],"readme":"circuit-breaker-as-promised\n===========\n[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat)](https://github.com/feross/standard)\n[![Circle CI](https://circleci.com/gh/lanetix/node-circuit-breaker-as-promised.svg?style=svg)](https://circleci.com/gh/lanetix/node-circuit-breaker-as-promised)\n[![Dependency Status](https://david-dm.org/lanetix/node-circuit-breaker-as-promised.svg)](https://david-dm.org/lanetix/node-circuit-breaker-as-promised)\n\n[Hysterix](https://github.com/Netflix/Hystrix)-like circuit breaker for Javascript which wraps [circuit-breaker-js](https://npmjs.org/package/circuit-breaker-js) and uses promises (via [bluebird](https://npmjs.org/packages/bluebird))\n\nInstallation\n------------\n\n[![npm install --save circuit-breaker-as-promised](https://nodei.co/npm/circuit-breaker-as-promised.png)](https://npmjs.org/package/circuit-breaker-as-promised)\n\nUsage\n-----\n\n```javascript\nvar request = require('http-as-promised')\nvar wrapWithBreaker = require('circuit-breaker-as-promised')\nvar BreakerOpen = wrapWithBreaker.BreakerOpen\n\nvar breakerRequest = wrapWithBreaker(request)\n\n... Use as normal\n\nbreakerRequest('http://lol.com')\n.catch(BreakerOpen, function () {\n  // Do stuff if you need to know when the breaker is open\n})\n```\n\nYou often don't want, e.g., http client errors, to trip the breaker, but still\nreject the returned promise as in the following example.\n\n```javascript\nvar breakerRequest = wrapWithBreaker(request, function (res) {\n  return res.catch(request.error.client)\n})\n```\n","readmeFilename":"README.md"}