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"]'
}