1. vary
Manipulate the HTTP Vary header
vary
Package: vary
Created by: jshttp
Last modified: Mon, 26 Feb 2024 19:48:50 GMT
Version: 1.1.2
License: MIT
Downloads: 125,138,753
Repository: https://github.com/jshttp/vary

Install

npm install vary
yarn add vary

vary

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

Manipulate the HTTP Vary header

Installation

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

 $ npm install vary

API

 var vary = require('vary')

vary(res, field)

Adds the given header field to the Vary response header of res.
This can be a string of a single field, a string of a valid Vary
header, or an array of multiple fields.

This will append the header if not already listed, otherwise leaves
it listed in the current location.

 // Append "Origin" to the Vary header of the response
vary(res, 'Origin')

vary.append(header, field)

Adds the given header field to the Vary response header string header.
This can be a string of a single field, a string of a valid Vary header,
or an array of multiple fields.

This will append the header if not already listed, otherwise leaves
it listed in the current location. The new header string is returned.

 // Get header string appending "Origin" to "Accept, User-Agent"
vary.append('Accept, User-Agent', 'Origin')

Examples

Updating the Vary header when content is based on it

 var http = require('http')
var vary = require('vary')

http.createServer(function onRequest (req, res) {
  // about to user-agent sniff
  vary(res, 'User-Agent')

  var ua = req.headers['user-agent'] || ''
  var isMobile = /mobi|android|touch|mini/i.test(ua)

  // serve site, depending on isMobile
  res.setHeader('Content-Type', 'text/html')
  res.end('You are (probably) ' + (isMobile ? '' : 'not ') + 'a mobile user')
})

Testing

 $ npm test

License

MIT

RELATED POST

10 Must-Know Windows Shortcuts That Will Save You Time

10 Must-Know Windows Shortcuts That Will Save You Time

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Navigating AWS Networking: Essential Hacks for Smooth Operation

Navigating AWS Networking: Essential Hacks for Smooth Operation

Achieving Stunning Visuals with Unity's Global Illumination

Achieving Stunning Visuals with Unity's Global Illumination

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code