@bonny-kato/httpclient
TypeScript icon, indicating that this package has built-in type declarations

0.0.5 • Public • Published

HttpClient

Overview

HttpClient is a simple HTTP client for making asynchronous HTTP requests in JavaScript using built-in fetch api. It supports various HTTP methods such as GET, POST, PUT, and DELETE.

Inspiration

This utility function, used to initiate HTTP requests, was copied/pasted/modified from a version originally created by Walter Kimaro.

Installation

  • using npm
    npm i @bonny-kato/httpclient
  • using yarn
    yarn add @bonny-kato/httpclient

Usage

Constructor

import HttpClient from "@bonny-kato/httpclient";

const httpClient = new HttpClient({
    baseUrl: 'https://api.example.com',
    headers: {
        'Authorization': 'Bearer YOUR_ACCESS_TOKEN'
    }
});

Methods

get

Makes an asynchronous GET request to the specified endpoint.

httpClient.get(endpoint);

post

Make a POST request to the specified endpoint with the provided data

httpClient.post(endpoint, data);

put

Sends a PUT request to the specified endpoint with the provided data.

httpClient.put(endpoint, data);

remove

Removes a resource from the server.

httpClient.remove(endpoint);

Examples

// Get users
const getUsers = () => {
    return httpClient.get("/users");
}

// Add user
const addUser = (data: User) => {
    return httpClient.post("/users", data);
}

// Update user
const updateUser = (userId: string, data: User) => {
    return httpClient.put(`/users/${userId}`, data);
}

// Remove user
const removeUser = (userId: string) => {
    return httpClient.remove(`/users/${userId}`);
}

Interfaces

IHeaders

export interface IHeaders {
    "Content-Type"?: "multipart/form-data" | "application/json" | undefined;
    Authorization?: string;
}

IHeaders

export interface IConfig {
    baseUrl: string;
    headers?: IHeaders;
}

HttpMethod

export type HttpMethod = "GET" | "POST" | "PUT" | "DELETE";

API Reference

Constructor

new HttpClient(config: IConfig)

Create a new instance of HttpClient.

  • config: An object containing configuration options.
    • baseUrl (string): The base URL for API requests.
    • headers (IHeaders): Optional. Custom headers to be included in each request.

Methods

request(method: HttpMethod, endpoint: string, data?: any): Promise<any>

Makes a generic HTTP request.

  • method (HttpMethod): The HTTP method for the request.
  • endpoint (string): The endpoint URL.
  • data (any): Optional. Data to be sent in the request body.

get(endpoint: string): Promise<any>

Makes an asynchronous GET request.

  • endpoint (string): The endpoint URL.

post(endpoint: string, data: object): Promise<any>

Makes a POST request.

  • endpoint (string): The endpoint URL.
  • data (object): Data to be sent in the request body.

put(endpoint: string, data: object): Promise<any>

Sends a PUT request.

  • endpoint (string): The endpoint URL.
  • data (object): Data to be sent in the request body.

remove(endpoint: string): Promise<void>

Removes a resource.

  • endpoint (string): The endpoint URL.

License

This project is licensed under the MIT License

Package Sidebar

Install

npm i @bonny-kato/httpclient

Weekly Downloads

6

Version

0.0.5

License

ISC

Unpacked Size

23.6 kB

Total Files

9

Last publish

Collaborators

  • bonny-kato