jshttp/on-headers

Execute a listener when a response is about to write headers.

JavaScript

163

204 commits

updated Jun 24, 2026

See the code

README

on-headers

NPM Version NPM Downloads Node.js Version Build Status Coverage Status

Execute a listener when a response is about to write headers.

Installation

This is a Node.js module available through the npm registry. Installation is done using the npm install command:

$ npm install on-headers

API

var onHeaders = require('on-headers')

onHeaders(res, listener)

This will add the listener listener to fire when headers are emitted for res. The listener is passed the response object as it's context (this). Headers are considered to be emitted only once, right before they are sent to the client.

When this is called multiple times on the same res, the listeners are fired in the reverse order they were added.

Examples

var http = require('http')
var onHeaders = require('on-headers')

http
  .createServer(onRequest)
  .listen(3000)

function addPoweredBy () {
  // set if not set by end of request
  if (!this.getHeader('X-Powered-By')) {
    this.setHeader('X-Powered-By', 'Node.js')
  }
}

function onRequest (req, res) {
  onHeaders(res, addPoweredBy)

  res.setHeader('Content-Type', 'text/plain')
  res.end('hello!')
}

Testing

$ npm test

License

MIT

event
headers
http
javascript
nodejs

Project health

Overall

5.4/10

Maintained

0/10

Code review

4/10
OpenSSF Scorecard

Latest release

1.1.0 · Jul 17, 2025

Releases this year

0

Significant stargazers

Alex Kocharin

479 followers · starred Aug 2014

Jake Verbaten

1,829 followers · starred Aug 2014

YuSheng Chen

32 followers · starred Apr 2026

Nicolas Chaulet

89 followers · starred Feb 2016

jshttp/on-headers

Execute a listener when a response is about to write headers.

JavaScript

163

204 commits

updated Jun 24, 2026

See the code

README

on-headers

NPM Version NPM Downloads Node.js Version Build Status Coverage Status

Execute a listener when a response is about to write headers.

Installation

This is a Node.js module available through the npm registry. Installation is done using the npm install command:

$ npm install on-headers

API

var onHeaders = require('on-headers')

onHeaders(res, listener)

This will add the listener listener to fire when headers are emitted for res. The listener is passed the response object as it's context (this). Headers are considered to be emitted only once, right before they are sent to the client.

When this is called multiple times on the same res, the listeners are fired in the reverse order they were added.

Examples

var http = require('http')
var onHeaders = require('on-headers')

http
  .createServer(onRequest)
  .listen(3000)

function addPoweredBy () {
  // set if not set by end of request
  if (!this.getHeader('X-Powered-By')) {
    this.setHeader('X-Powered-By', 'Node.js')
  }
}

function onRequest (req, res) {
  onHeaders(res, addPoweredBy)

  res.setHeader('Content-Type', 'text/plain')
  res.end('hello!')
}

Testing

$ npm test

License

MIT

event
headers
http
javascript
nodejs

Project health

Overall

5.4/10

Maintained

0/10

Code review

4/10
OpenSSF Scorecard

Latest release

1.1.0 · Jul 17, 2025

Releases this year

0

Significant stargazers

Alex Kocharin

479 followers · starred Aug 2014

Jake Verbaten

1,829 followers · starred Aug 2014

YuSheng Chen

32 followers · starred Apr 2026

Nicolas Chaulet

89 followers · starred Feb 2016