Introducing Socket Firewall: Free, Proactive Protection for Your Software Supply Chain.Learn More
Socket
Book a DemoInstallSign in
Socket

@fastify/diagnostics-channel

Package Overview
Dependencies
Maintainers
19
Versions
11
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@fastify/diagnostics-channel

Plugin to deal with diagnostics_channel on Fastify

latest
Source
npmnpm
Version
5.0.1
Version published
Maintainers
19
Created
Source

Note This package has been deprecated; diagnostics_channel is now built into Fastify v5.

@fastify/diagnostics-channel

CI NPM version neostandard javascript style

Install

npm i @fastify/diagnostics-channel

Compatibility

Plugin versionFastify version
^5.x^5.x
^4.x^4.x
^1.x^3.x

Please note that if a Fastify version is out of support, then so are the corresponding versions of this plugin in the table above. See Fastify's LTS policy for more details.

Usage

Register as a plugin. This will add some hooks that provide information through diagnostics_channel

const fastify = require('fastify')()

fastify.register(require('@fastify/diagnostics-channel'), {})

Note: check examples/ to further information

What information is provided?

The channels are prefixed by: fastify.{HOOK_NAME}

onRoute Channel

Channel: fastify.onRoute

This event is sent at every route registered passing a routeOptions object

const dc = require('node:diagnostics_channel')
const onRoute = dc.channel('fastify.onRoute')

onRoute.subscribe((routeOptions) => {
  routeOptions.method
  routeOptions.schema
  routeOptions.url // the complete URL of the route, it will include the prefix if any
  routeOptions.path // `url` alias
  routeOptions.routePath // the URL of the route without the prefix
  routeOptions.bodyLimit
  routeOptions.logLevel
  routeOptions.logSerializers
  routeOptions.prefix
})

onResponse Channel

Channel: fastify.onResponse

This event is sent on every response sent by the server, it propagates an object containing: request object and reply object

const dc = require('node:diagnostics_channel')
const onResponse = dc.channel('fastify.onResponse')

onResponse.subscribe((data) => {
  data.request
  data.reply
})

onError Channel

Channel: fastify.onError

This event is sent when an error is thrown during the Fastify lifecycle.

The message data is an object containing a request object, reply object, and Error object

const dc = require('node:diagnostics_channel')
const onError = dc.channel('fastify.onError')

onError.subscribe((data) => {
  data.request
  data.reply
  data.error // error object thrown
})

onTimeout Channel

Channel: fastify.onTimeout

This event is sent when a request spends more time than connectionTimeout specifies. For further information about connectionTimeout check the Fastify documentation.

The message data is an object containing a request object, reply object, and connectionTimeout value

Note: by default Fastify does not limit the request time.

const dc = require('node:diagnostics_channel')
const onTimeout = dc.channel('fastify.onTimeout')

onTimeout.subscribe((data) => {
  data.connectionTimeout
  data.reply
  data.request
})

onRequest Channel

Channel: fastify.onRequest

This event is sent when a request is received; the message data is an object containing a request object and reply object

const dc = require('node:diagnostics_channel')
const onRequest = dc.channel('fastify.onRequest')

onRequest.subscribe((data) => {
  data.request
  data.reply
})

License

Licensed under MIT.

Keywords

fastify

FAQs

Package last updated on 05 Jan 2025

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