MCPcopy Create free account
hub / github.com/nodejs/node / validateCookieValue

Function validateCookieValue

deps/undici/src/lib/web/cookies/util.js:69–96  ·  view source on GitHub ↗

cookie-value = *cookie-octet / ( DQUOTE *cookie-octet DQUOTE ) cookie-octet = %x21 / %x23-2B / %x2D-3A / %x3C-5B / %x5D-7E ; US-ASCII characters excluding CTLs, ; whitespace DQUOTE, comma, semicolon, ; and backslash * @

(value)

Source from the content-addressed store, hash-verified

67 * @param {string} value
68 */
69function validateCookieValue (value) {
70 let len = value.length
71 let i = 0
72
73 // if the value is wrapped in DQUOTE
74 if (value[0] === '"') {
75 if (len === 1 || value[len - 1] !== '"') {
76 throw new Error('Invalid cookie value')
77 }
78 --len
79 ++i
80 }
81
82 while (i < len) {
83 const code = value.charCodeAt(i++)
84
85 if (
86 code < 0x21 || // exclude CTLs (0-31)
87 code > 0x7E || // non-ascii and DEL (127)
88 code === 0x22 || // "
89 code === 0x2C || // ,
90 code === 0x3B || // ;
91 code === 0x5C // \
92 ) {
93 throw new Error('Invalid cookie value')
94 }
95 }
96}
97
98/**
99 * path-value = <any CHAR except CTLs or ";">

Callers 1

stringifyFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected