【问题标题】:Deprecated `Headers.getAll()` API reimplementation已弃用的 `Headers.getAll()` API 重新实现
【发布时间】:2021-04-06 11:34:11
【问题描述】:

Headers.getAll() 方法似乎提供了一种解析多值 http 标头的可靠方法。然而,根据 documentation 该方法已被弃用并从规范中删除。似乎没有任何方法可以支持解析多值标头。 Headers.get() 方法似乎返回了一个包含多个值的未解析字符串。如何以可靠的方式重新实现已弃用的方法?

【问题讨论】:

  • 看起来这些值只是用逗号分隔,, 。但是为了能够再次简单地拆分该值,您需要确定没有任何标头值实际上包含,

标签: javascript http-headers browser-api


【解决方案1】:

通过查看各种来源,我了解到逗号用作分隔符,并且值本身永远不能包含逗号。似乎每个单独值之前的空格应该被忽略,但每个值末尾的空格可能应该被保留。基于此,我倾向于如下实现。

Headers.prototype.getAll = function(name) {
  return this.get(name).split(',').map(v => v.trimStart());
}

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-11-12
  • 2017-05-14
  • 2018-10-01
  • 2016-10-16
  • 2014-04-02
  • 2019-10-12
相关资源
最近更新 更多