npm.io
1.0.0 • Published 1 month ago

connect-pause

Licence
MIT
Version
1.0.0
Deps
0
Size
6 kB
Vulns
0
Weekly
0
Stars
12

connect-pause

Connect/Express middleware to simulate latency while debugging.

Works in Node.js (14+). ESM, CommonJS, and TypeScript types included.

NPM

npm install connect-pause
import pause from 'connect-pause'
// or
const pause = require('connect-pause')

Usage

Pause all Connect requests:

const connect = require('connect')
const pause = require('connect-pause')

connect.createServer(
  pause(1000),
  function (req, res, next) {
    res.writeHead(200, { 'Content-Type': 'text/plain' })
    res.end('Waited 1 second')
  },
).listen(8080)

Pause all Express requests:

const express = require('express')
const pause = require('connect-pause')

const app = express()
app.use(pause(1000))
app.get('/', function (req, res) {
  res.send('Waited 1 second')
})
app.listen(3000)

Pause a single Express endpoint:

const express = require('express')
const pause = require('connect-pause')

const app = express()
app.get('/', pause(1000), function (req, res) {
  res.send('Waited 1 second')
})
app.listen(3000)

Pass an error to be returned after the delay:

const express = require('express')
const pause = require('connect-pause')

const app = express()
app.get('/', pause(1000, new Error('Send 500')), function (req, res) {
  res.send('Waited 1 second')
})
app.listen(3000)

API

pause(delay?, err?) returns a middleware function.

  • delay — milliseconds before calling next (default 1000). Falsy values use the default.
  • err — optional error passed to next(err) after the delay.

TypeScript

Types ship with the package (since 1.0.0).

import pause from 'connect-pause'
import type { RequestHandler } from 'express'

const middleware: RequestHandler = pause(500)

Development

npm install
npm run lint
npm run build
npm test

License

MIT — see LICENSE.

Keywords