@cl3tus/dashboard
v1.0.4
Published
Interactive dashboard component for real-time data visualization
Downloads
14
Readme
Dashboard
A simple dashboard module for logging HTTP requests and monitoring your API.
Installation
npm install cl3tus-dashboardUsage
Basic Usage
import { DashboardClient } from "@cl3tus/dashboard";
const dashboard = new DashboardClient({
apiKey: "your-api-key",
apiUrl: "http://my-dashboard.com/api",
});Express.js Middleware Integration
import { DashboardClient } from "@cl3tus/dashboard";
import { NextFunction, Request, Response } from "express";
const dashboard = new DashboardClient({
apiKey: "your-api-key",
apiUrl: "http://my-dashboard.com/api",
});
export const logHttpRequest = async (
req: Request,
res: Response,
next: NextFunction
) => {
const logData = {
source: "YOUR_API_NAME",
method: req.method,
url: req.originalUrl,
statusCode: res.statusCode,
headers: req.headers,
params: req.params,
query: req.query,
body: req.body,
ip: req.ip,
userAgent: req.headers["user-agent"],
response: null,
};
res.on("finish", async () => {
logData.statusCode = res.statusCode;
logData.response = res.locals.response;
try {
await dashboard.sendHttpLog(logData);
console.log("HTTP log sent successfully");
} catch (error) {
if (error instanceof Error) {
console.error("Failed to log request:", error.message);
} else {
console.error("Failed to log request:", error);
}
}
});
next();
};Then use it in your Express.js application:
import express from "express";
import { logHttpRequest } from "./middleware";
const app = express();
app.use(logHttpRequest);