Skip to content

Response HandlerConsistent API Responses for Express and Socket.IO

Single entry point. Modern middleware. Legacy adapter compatibility.

Quick Example

ts
import express from 'express';
import { quickSetup } from '@amit-kandar/response-handler';

const app = express();
app.use(express.json());

const { middleware, errorHandler } = quickSetup({
  mode: 'development',
  responses: { includeRequestId: true, includeTimestamp: true },
  security: { rateLimiting: { windowMs: 60_000, maxRequests: 100 } },
});

app.use(middleware);

app.get('/users', async (_req, res) => {
  return res.ok([{ id: 1, name: 'Amit' }], 'Users loaded');
});

app.use(errorHandler);

Choose Your Path

Modern Middleware API

  • Start at /guide/quick-start
  • Express methods: res.ok, res.created, res.badRequest, res.error
  • Socket methods: response.ok, response.error, response.toRoom(...)

Legacy Adapter Compatibility

  • REST adapters: sendSuccess, sendError, errorHandler
  • Socket adapters: emitSuccess, emitError, socketWrapper
  • Use /guide/migration for step-by-step upgrade

Documentation Map

  • Guide: /guide/
  • API Reference: /api/
  • Examples: /examples/
  • Deployment (Vercel + GitHub Pages): /deployment/

What You Can Configure

  • Logging: levels, request/response logs, custom logger
  • Responses: timestamps, request IDs, execution time, custom meta fields
  • Security: sanitized errors, hidden internal details, rate limiting
  • Performance: caching headers, compression, ETag

Released under the ISC License.