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