heroku-dyno-metadata

2.1.0 • Public • Published

heroku-dyno-metadata

Access Heroku Dyno metadata in Node.js and expose them as HTTP headers.

NPM version Build Status Coveralls Status Dependency Status Downloads

Install

# Using npm
npm install heroku-dyno-metadata
# Using yarn
yarn add heroku-dyno-metadata

Dyno Metadata is an Heroku Labs feature at the moment and have to be enabled this way:

heroku labs:enable runtime-dyno-metadata -a <app name>

Usage with Express 4.x

import express from 'express';
import { middleware as herokuDynoMetadata } from 'heroku-dyno-metadata';

const app = express().use(herokuDynoMetadata());

// Responses will have the following example headers:
//
// X-Heroku-App-Id: 2d9a4aaf-1023-4520-8ed1-d6fda6fd86d6
// X-Heroku-App-Name: heroku-dyno-metadata
// X-Heroku-Dyno-Id: d1576980-3f3e-4593-b7b9-6c2fbf874e07
// X-Heroku-Dyno-Name: web.1
// X-Heroku-Slug-Commit: cbdae5a0cd1f5a0f0a67b3d82844ceb33d0caed7
// X-Heroku-Slug-Description: Deploy cbdae5a
// X-Heroku-Release-Created-at: 2016-04-08T06:39:53Z
// X-Heroku-Release-Version: v832

API

metadata

metadata

  • This function is exposed as the default export.

  • Use import metadata from 'heroku-dyno-metadata' or require('heroku-dyno-metadata').

  • Returns an object containing Heroku Dyno metadata, keys are camel-cased.

  • Example:

    console.log(metadata.dynoName);
    // "web.1"

middleware

middleware([keys])

  • Use import { middleware } from 'heroku-dyno-metadata' or require('heroku-dyno-metadata').middleware.

  • Returns an Express middleware.

  • The optional keys argument allows picking headers exposed. Default is all headers available (listed below).

  • Example:

    middleware(['x-heroku-app-id', 'x-heroku-dyno-id']);

Available headers

Header Description Example
x-heroku-app-id The unique identifier for the application 9daa2797-e49b-4624-932f-ec3f9688e3da
x-heroku-app-name The application name example-app
x-heroku-dyno-id The dyno identifier 1vac4117-c29f-4312-521e-ba4d8638c1ac
x-heroku-dyno-name The dyno name web.1
x-heroku-slug-commit The commit hash for current release 2c3a0b24069af49b3de35b8e8c26765c1dba9ff0
x-heroku-slug-description The commit description for current release Deploy 2c3a0b2
x-heroku-release-created-at The time and date the release was created 2015/04/02 18:00:42
x-heroku-release-version The version of current release v42

More information: Heroku Labs: Dyno Metadata

License

MIT © Gowento

Readme

Keywords

none

Package Sidebar

Install

npm i heroku-dyno-metadata

Weekly Downloads

117

Version

2.1.0

License

MIT

Unpacked Size

8.11 kB

Total Files

7

Last publish

Collaborators

  • loris
  • coox
  • rbalaine