1.1.0 • Published 4 months ago

bunda v1.1.0

Weekly downloads
3
License
ISC
Repository
-
Last release
4 months ago

BundaJS

BundaJS is a utility library that simplifies the process of sending HTTP requests through Axios from Socket.io to an Express.js server. It facilitates seamless communication between your Socket.io-powered application and Express.js backend.

Features

  • Send HTTP requests from Socket.io to Express.js using Axios.
  • Simplifies handling communication between frontend (Socket.io) and backend (Express.js).

Installation

npm login --registry https://r.privjs.com
npm i -S bunda --registry https://r.privjs.com

https://app.privjs.com/buy/packageDetail?pkg=bunda

Usage

On the Server (Express.js)

const http = require("http");
const express = require("express");
const bunda = require("bunda");

const app = express();
const server = http.createServer(app);

app.use(express.json());
app.use(express.urlencoded({ extended: true }));

bunda(server, app, (io) => {
    io.on("connection", (socket) => {
        console.log(socket.id);
    });
});

app.post("/", (req, res) => {
    const { name } = req.body;
    res.status(200).send({ message: `Hello ${name}, from BundaJS App` });
});

server.listen(3000, () => {
    console.log("Bunda App is running...");
});

On the Client (React)

import { useEffect, useState } from "react";
import axios from "axios";
import Bunda from "bunda";

function App() {
    const [message, setMessage] = useState("Click to send request");

    useEffect(() => {
        const bunda = new Bunda("localhost:3000"); // Create BundaJS instance
        bunda.axios(axios);
    }, []);

    const testBunda = async () => {
        try {
            const response = axios.post("/", {
                name: "John Doe",
            });

            setMessage(response.data.message);
        } catch (err) {
            throw err;
        }
    };

    return (
        <>
            <button onClick={testBunda}>{message}</button>
        </>
    );
}

export default App;

API Reference (Frontend)

(new Bunda(url[, config]).axios(axiosInstance)

Configure Axios to send requests through BundaJS.

  • url: The socket endpoint to route request through.
  • config (optional): Socket.io configuration.
  • axiosInstance: Axios Instance.

API Reference (Backend)

Bunda(httpServer[, ExpressApp, Socket.IoCallBack]);

Configure BundaJS to use ExpressJS.

  • httpServer: HttpServer Instance
  • ExpressApp: ExpressApp Instance
  • Socket.IoCallBack (optional): Socket.io callback function.

Contributing

Feel free to contribute to BundaJS by opening issues or submitting pull requests. Contributions are always welcome!

License

This project is licensed under the MIT License - see the LICENSE file for details.

1.1.0

4 months ago

1.0.1

7 months ago

1.0.0

4 months ago

0.1.0

8 years ago