Latest Threat ResearchGlassWorm Loader Hits Open VSX via Developer Account Compromise.Details
Socket
Book a DemoInstallSign in
Socket

http-ndjson

Package Overview
Dependencies
Maintainers
1
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

http-ndjson

Log http requests as ndjson

Source
npmnpm
Version
3.0.0
Version published
Weekly downloads
550
-12.84%
Maintainers
1
Weekly downloads
 
Created
Source

http-ndjson

NPM version build status Test coverage Downloads js-standard-style

Log http requests as ndjson. Works pretty well with bole, so you should probably use it with that. That is my recommendation.

Installation

$ npm install http-ndjson

Usage

const httpNdjson = require('http-ndjson')
const http = require('http')

http.createServer(function (req, res) {
  const setSize = httpNdjson(req, res, console.log)
  const myCoolResponse = 'chickens'
  setSize(myCoolResponse.length)
  res.end(myCoolResponse)
}).listen()
{ name: 'http', method: 'GET', message: 'request', url: '/' }
{ name: 'http', method: 'GET', message: 'response', url: '/', statusCode: 200, elapsed: '5ms' }

Log custom properties

http-ndjson logs a sensible set of standard properties, but sometimes there's a need to dive in and log more. An optional third argument can be added with custom fields that will be logged on either request or response.

const httpNdjson = require('http-ndjson')
const http = require('http')

http.createServer(function (req, res) {
  const opts = { req: { requestId: req.headers['requestId'] } }
  httpNdjson(req, res, opts, console.log)
  res.end()
}).listen()

Forward headers

Determining the origin of a request can be hard when using reverse-proxies. It's not too uncommon for users to mask their IP by providing an x-forwarded-for header. http-ndjson makes no assumptions about forwarding headers and logs all properties instead. The following headers are logged:

  • x-forwarded-for: standardized reverse proxy header (rfc7239)
  • x-real-ip: non-standard reverse proxy header
  • http-client-ip: non-standard reverse proxy header

API

readStream = httpNdjson(req, res, opts?, cb)

Create an http logger. Returns a write stream. Opts can contain the following values:

  • req: an object with values that will be logged on request
  • res: an object with values that will be logged on response
  • opts: set options
  • cb: handle the returned message

See Also

License

MIT

Keywords

http

FAQs

Package last updated on 04 Mar 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts