http.validateHeaderValue(name, value)
在调用 res.setHeader(name, value)
时对提供的 value
执行低层验证。
¥Performs the low-level validations on the provided value
that are done when
res.setHeader(name, value)
is called.
将非法值作为 value
传入将导致抛出 TypeError
。
¥Passing illegal value as value
will result in a TypeError
being thrown.
-
未定义值错误由
code: 'ERR_HTTP_INVALID_HEADER_VALUE'
标识。¥Undefined value error is identified by
code: 'ERR_HTTP_INVALID_HEADER_VALUE'
. -
无效值字符错误由
code: 'ERR_INVALID_CHAR'
标识。¥Invalid value character error is identified by
code: 'ERR_INVALID_CHAR'
.
在将标头传给 HTTP 请求或响应之前,不必使用此方法。HTTP 模块将自动验证此类标头。
¥It is not necessary to use this method before passing headers to an HTTP request or response. The HTTP module will automatically validate such headers.
示例:
¥Examples:
import { validateHeaderValue } from 'node:http';
try {
validateHeaderValue('x-my-header', undefined);
} catch (err) {
console.error(err instanceof TypeError); // --> true
console.error(err.code === 'ERR_HTTP_INVALID_HEADER_VALUE'); // --> true
console.error(err.message); // --> 'Invalid value "undefined" for header "x-my-header"'
}
try {
validateHeaderValue('x-my-header', 'oʊmɪɡə');
} catch (err) {
console.error(err instanceof TypeError); // --> true
console.error(err.code === 'ERR_INVALID_CHAR'); // --> true
console.error(err.message); // --> 'Invalid character in header content ["x-my-header"]'
}
const { validateHeaderValue } = require('node:http');
try {
validateHeaderValue('x-my-header', undefined);
} catch (err) {
console.error(err instanceof TypeError); // --> true
console.error(err.code === 'ERR_HTTP_INVALID_HEADER_VALUE'); // --> true
console.error(err.message); // --> 'Invalid value "undefined" for header "x-my-header"'
}
try {
validateHeaderValue('x-my-header', 'oʊmɪɡə');
} catch (err) {
console.error(err instanceof TypeError); // --> true
console.error(err.code === 'ERR_INVALID_CHAR'); // --> true
console.error(err.message); // --> 'Invalid character in header content ["x-my-header"]'
}