All Projects → Trendyol → supra

Trendyol / supra

Licence: other
Circuit breaking http client for NodeJs. And it is fast...

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Documentation will be released soon.

CircleCI codecov npm version

Installing

npm i supra-http

Simple Usage

Get

client.request('apiCallName', 'https://my-api/endpoint', {
  method: 'get',
  json: true
})
  .then(response => console.log(response.json))
  .catch(_ => console.log(_));

Post

client.request('apiCallName', 'https://my-api/endpoint', {
  method: 'post',
  body: {
    test: true  
  },
  json: true
})
  .then(response => console.log(response.json))
  .catch(_ => console.log(_));

Circuit Breaking

client.request('apiCallName', 'https://my-api/endpoint', {
  timeout: 1000,
  allowWarmUp: true,
  errorThresholdPercentage: 50,
  resetTimeout: 10000,
  enabled: true,
  method: 'get',
  json: true
})
  .then(response => console.log(response.json))
  .catch(_ => console.log(_));

You can read more about properties from opossum.

Decompression

Supra supports gzip and brotli decompressions over zlib. So it requires at least NodeJs 10.17.x

Benchmarks

supra with circuit x 8,779 ops/sec ±3.31% (76 runs sampled)
supra without circuit x 8,625 ops/sec ±4.68% (68 runs sampled)
requestretry x 3,672 ops/sec ±7.24% (67 runs sampled)
request x 5,092 ops/sec ±4.42% (73 runs sampled)
native http request 1.0 x 9,874 ops/sec ±5.82% (67 runs sampled)
native http request 1.1 x 9,681 ops/sec ±6.36% (73 runs sampled)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].