【发布时间】:2017-09-17 09:38:27
【问题描述】:
如何删除 Yesod 中的Server HTTP 响应标头?我找到了code that's responsible for setting that header,但我不知道下一步该做什么。我知道我可以使用addHeader "Server" "" 将标头值替换为空字符串,但我更愿意将其完全删除。
【问题讨论】:
标签: haskell yesod haskell-warp
如何删除 Yesod 中的Server HTTP 响应标头?我找到了code that's responsible for setting that header,但我不知道下一步该做什么。我知道我可以使用addHeader "Server" "" 将标头值替换为空字符串,但我更愿意将其完全删除。
【问题讨论】:
标签: haskell yesod haskell-warp
我在 GitHub Warp 存储库上创建了an issue,他们将其更改为当服务器名称为空时,不发送“服务器”标头。因此,解决方案是使用setServerName "" 将服务器名称设置为空字符串。就我而言,我必须将其添加到Application.hs 中的warpSettings 函数中。请注意,您必须使用包含该修复程序的 Warp 版本(截至 17 年 5 月 3 日,它尚未发布,但您可以直接从 GitHub 拉取它)。
【讨论】:
您必须调用您链接的函数内部的方法。该函数将“如果 HTTP 响应标头中不存在日期和服务器标头,则添加该标头”,因此如果您不想要该行为,则需要重新实现它。
这就是为什么人们总是说要保持代码模块化和函数小;这个函数对于你的用例来说太大了,并且没有特定的更小的函数可以完全满足你的需求(否则它会被这个函数调用!)
【讨论】: