demo___customer_pitch-c4152739-a50b-4b5b-9d4d-0561461666d9.zip-extract/_dependencies/npm/vary-1.1.2/index.js

Path
demo___customer_pitch-c4152739-a50b-4b5b-9d4d-0561461666d9.zip-extract/_dependencies/npm/vary-1.1.2/index.js
Status
scanned
Type
file
Name
index.js
Extension
.js
Programming language
JavaScript
Mime type
text/plain
File type
ASCII text
Tag

      
    
Rootfs path

      
    
Size
2930 (2.9 KB)
MD5
8217c2d942ee5bf6866c92662515d975
SHA1
0e3f2e39b49663eb93e911c9f9c96d2c843d85da
SHA256
8e40311960636d40473c57e335bbca115036766bf150df296b941256432ab410
SHA512

      
    
SHA1_git
5b5e741279d4b800b0c408c5efbac8de6ece450b
Is binary

      
    
Is text
True
Is archive

      
    
Is media

      
    
Is legal

      
    
Is manifest

      
    
Is readme

      
    
Is top level

      
    
Is key file

      
    
index.js | 2.9 KB |

/*! * vary * Copyright(c) 2014-2017 Douglas Christopher Wilson * MIT Licensed */ 'use strict' /** * Module exports. */ module.exports = vary module.exports.append = append /** * RegExp to match field-name in RFC 7230 sec 3.2 * * field-name = token * token = 1*tchar * tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" * / "+" / "-" / "." / "^" / "_" / "`" / "|" / "~" * / DIGIT / ALPHA * ; any VCHAR, except delimiters */ var FIELD_NAME_REGEXP = /^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/ /** * Append a field to a vary header. * * @param {String} header * @param {String|Array} field * @return {String} * @public */ function append (header, field) { if (typeof header !== 'string') { throw new TypeError('header argument is required') } if (!field) { throw new TypeError('field argument is required') } // get fields array var fields = !Array.isArray(field) ? parse(String(field)) : field // assert on invalid field names for (var j = 0; j < fields.length; j++) { if (!FIELD_NAME_REGEXP.test(fields[j])) { throw new TypeError('field argument contains an invalid header name') } } // existing, unspecified vary if (header === '*') { return header } // enumerate current values var val = header var vals = parse(header.toLowerCase()) // unspecified vary if (fields.indexOf('*') !== -1 || vals.indexOf('*') !== -1) { return '*' } for (var i = 0; i < fields.length; i++) { var fld = fields[i].toLowerCase() // append value (case-preserving) if (vals.indexOf(fld) === -1) { vals.push(fld) val = val ? val + ', ' + fields[i] : fields[i] } } return val } /** * Parse a vary header into an array. * * @param {String} header * @return {Array} * @private */ function parse (header) { var end = 0 var list = [] var start = 0 // gather tokens for (var i = 0, len = header.length; i < len; i++) { switch (header.charCodeAt(i)) { case 0x20: /* */ if (start === end) { start = end = i + 1 } break case 0x2c: /* , */ list.push(header.substring(start, end)) start = end = i + 1 break default: end = i + 1 break } } // final token list.push(header.substring(start, end)) return list } /** * Mark that a request is varied on a header field. * * @param {Object} res * @param {String|Array} field * @public */ function vary (res, field) { if (!res || !res.getHeader || !res.setHeader) { // quack quack throw new TypeError('res argument is required') } // get existing header var val = res.getHeader('Vary') || '' var header = Array.isArray(val) ? val.join(', ') : String(val) // set new header if ((val = append(header, field))) { res.setHeader('Vary', val) } }
Detected license expression
mit
Detected license expression (SPDX)
MIT
Percentage of license text
0.59
Copyrights
- end_line: 3
  copyright: Copyright (c) 2014-2017 Douglas Christopher Wilson
  start_line: 3
Holders
- holder: Douglas Christopher Wilson
  end_line: 3
  start_line: 3
Authors

      
    
License detections License expression License expression SPDX
mit-4e7803e6-e54b-c9ca-bcd2-bee9755c0dd7 mit MIT
Package URL License Primary language
pkg:npm/acme-demo-app@1.0.0 JavaScript
pkg:npm/vary@1.1.2 mit JavaScript