Skip to content

@jacraig/request is a wrapper around fetch that adds functionality including caching, retry, and timeouts

License

Notifications You must be signed in to change notification settings

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

About

@jacraig/request is a wrapper around fetch that adds functionality including caching, retry, and timeouts

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published