Skip to content

This package helps deprecate API routes which are no longer going to be in use by exposing headers which will describe deprecation notices and information for API consumers.

License

Notifications You must be signed in to change notification settings

jonathankeys/deprecated-api

Repository files navigation

deprecated-api

NPM Version Build status Coverage Status

Installation

This package can be downloaded through the npm registry via the npm command:

$ npm install deprecated-api

API

var deprecatedApi = require('deprecated-api');

deprecatedApi([options])

Creates a middleware function which adds deprecation messages to the response headers. The only header which is always set is the x-api-deprecated in the form of a boolean always set to true when the middleware is encountered for a route.

options

The parameter passed to the depcratedApi middleware which optionally contains the following object keys. If any of the keys are missing the additional HTTP header will be left unused and will not be attached to the response object. In the case of the middleware being encountered multiple times in one route path, it will contact the message into an array form and displayed as a single string, comma-delimited.

message

The value to be set under the x-api-deprecation-message header in string form.

date

The value to be set under the x-api-deprecation-date header in string form.

examples

When the only one deprecation is used:

var options = {
  message: 'This API route is deprecated',
  date: '1970-01-01',
};

app.use(apiDeprecated(options));
{
  'x-api-deprecated': 'true',
  'x-api-deprecation-date': '1970-01-01',
  'x-api-deprecation-message': 'This API route is deprecated'
}

When the deprecation middleware encounters multiple different messages and dates.

var option1 = {
  message: 'This API route is deprecated',
  date: '1970-01-01',
};

var option2 = {
  message: 'This API route is deprecated as well',
  date: '1970-01-02',
};

app.use(apiDeprecated(option1));

app.use(apiDeprecated(option2));
{
  'x-api-deprecated': 'true',
  'x-api-deprecation-date': '1970-01-02, 1970-01-01',
  'x-api-deprecation-message': 'This API route is deprecated as well, This api is being upgraded to V2'
}

About

This package helps deprecate API routes which are no longer going to be in use by exposing headers which will describe deprecation notices and information for API consumers.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published