@jacraig/request

@jacraig/request

NPM Publish

@jacraig/request is a powerful yet lightweight library designed to simplify HTTP requests using the native fetch API while adding functionality such as caching, retry logic, and timeouts. It aims to provide developers with a convenient and flexible solution for handling HTTP requests in JavaScript and TypeScript applications.

Features

  • Caching: Cache responses to improve performance and reduce network requests.
  • Retry logic: Automatically retry failed requests with customizable retry options.
  • Timeouts: Set timeouts for requests to prevent hanging and improve overall application responsiveness.

Installation

You can install @jacraig/request via npm:

npm install @jacraig/request

Usage

Here's a basic example of how you can use @jacraig/request to make a fetch request:


import { Request } from '@jacraig/request';

let returnValue = await Request.get('https://jsonplaceholder.somewhere.com/post.json').send();

In order to use caching, retry logic, or timeouts, you can use the extra methods on the returned Request object to set options:


import { Request, StorageMode } from '@jacraig/request';

let returnValue = await Request.get('https://jsonplaceholder.somewhere.com/post.json')
.withStorageMode(StorageMode.StorageAndUpdate)
.withTimeout(5000)
.withRetryAttempts(3)
.send();

If you prefer to use callbacks instead of promises, you can do so by passing a callback function to the onSuccess method:


import { Request } from '@jacraig/request';

Request.get('https://jsonplaceholder.somewhere.com/post.json')
.onSuccess((response) => {
console.log(response);
})
.send();

Documentation

For more detailed information on how to use @jacraig/request, please refer to the documentation on GitHub Pages.

License

@jacraig/request is licensed under the Apache 2.0 License