http.validateHeaderValue(name, value)
对提供的 value 执行低级验证,这些验证在调用 res.setHeader(name, 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'标识。 - 无效值字符错误由
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"]'
}