# request-response-handler

> Handle HTTP request responses

Latest version **1.1.0** (published 2025-05-12) · MIT license · 0 weekly downloads

## Install

```sh
npm install request-response-handler
pnpm add request-response-handler
yarn add request-response-handler
bun add request-response-handler
```

## Health

**Score 35/100 (D)** — status: maintenance-mode.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support.

Negative: stale; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.1.0 |
| Published | 2025-05-12 |
| First published | 2021-12-26 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 2 |
| Unpacked size | 46.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 1 |
| Author | PascalUlor |
| Maintainers | pccodes |

## Links

- npm: https://www.npmjs.com/package/request-response-handler
- Repository: https://github.com/PascalUlor/request-response-handler
- Homepage: https://github.com/PascalUlor/request-response-handler#readme
- Issues: https://github.com/PascalUlor/request-response-handler/issues
- npm.io page: https://npm.io/package/request-response-handler

## Dependencies (2)

- [dotenv](https://npm.io/package/dotenv.md) ^10.0.0
- [http-status-codes](https://npm.io/package/http-status-codes.md) ^2.1.4

## Recent versions

- 1.1.0 (latest) — 2025-05-12
- 1.0.4--canary.3.6264331423.0 (canary) — 2023-09-21
- 1.0.9 — 2023-10-10
- 1.0.8 — 2023-09-23
- 1.0.7 — 2023-09-23
- 1.0.6 — 2023-09-23
- 1.0.5 — 2023-09-22
- 1.0.4 — 2023-09-22
- 1.0.3 — 2023-09-21
- 1.0.2 — 2023-08-31
- 1.0.1 — 2021-12-26
- 1.0.0 — 2021-12-26

## README

# request-response-handler

**ABOUT** This is a very basic HTTP response handler for NodeJS applications. 

# Table Of Content

<!-- TOC -->
1. [Getting Started](#getting-started 'Getting Started')
   *_[Installation](#installation 'Installation')
2. [Usage](#usage 'Usage')
3. [Built With](#built-with 'Built With')
4. [Useful Links](#useful-links 'Useful Links')
5. [Improvements](#improvements 'Improvements')
<!-- TOC -->

## Getting Started

These instructions will get you started on using the package


### Installation

```
npm install --save request-response-handler
```

## Usage
This package supports both ES6 **e.g import** and commonjs **e.g require** syntax

### Basic http status codes

You can import some http statusCodes often used in projects:

**Example**
```js
  CREATED, //201
  OK, // 200
  BAD_REQUEST, // 400
  CONFLICT, // 409
  NOT_FOUND, // 404
  UNAUTHORIZED, // 401
  FORBIDDEN, // 403
  SERVER_ERROR, // 500
```

**As enums**
```js
const {
  SuccessStatusCodes,
  ErrorStatusCodes
} = require('request-response-handler');
```
**or as constants**

```js
import { CREATED, BAD_REQUEST } from 'request-response-handler';
```


### errorHandler
Pass the `errorHandler` as a middleware to catch all errors in your app
**Example**

```js
const { errorHandler } = require('request-response-handler');

app.use(errorHandler());

```

### customError
Use `customError` to catch errors and return custom error messages in your app

**Example**

```js
const { customError, ErrorStatusCodes } = require('request-response-handler');
/**
  * Create new error
  *
  * @param {String} message
  * @param {number} status
  *
  * @returns {object} error
  */

    createError({
        status: ErrorStatusCodes.CONFLICT,
        message: 'User with email or username already exists',
    }),

```

### success

**Example**
handle 2XX responses with custom messages and response objects
```js
const { success SuccessStatusCodes} = require('request-response-handler');

/**
  *Create success response data format
  *
  * @param {object} res
  * @param {object} statusCode
  * @param {string} [message='successful']
  * @param {object} body // optional
  * @return {object}
  */
    success(res, SuccessStatusCodes.CREATED, 'SignUp Successful', {
          id: user.id, username, email, token, apiKey: user.apiKey,
        });
```


## Authors

- **Ulor Pascal** - [PascalUlor](https://github.com/PascalUlor)

---
_Source: https://npm.io/package/request-response-handler · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
