删除Yesod / Warp中的服务器响应标头

时间:2017-04-20 16:18:10

标签: haskell yesod haskell-warp

如何在Yesod中删除Server HTTP响应标头?我找到了code that's responsible for setting that header,但我不知道接下来该做什么。我知道我可以使用addHeader "Server" ""用空字符串替换标题值,但我更喜欢将其删除。

2 个答案:

答案 0 :(得分:0)

我在GitHub Warp存储库上创建了an issue,他们更改了当服务器名称为空时,不会发送“Server”标头。因此,解决方案是使用setServerName ""将服务器名称设置为空字符串。在我的情况下,我必须将其添加到warpSettings中的Application.hs函数中。请注意,您必须使用包含修复的Warp版本(截至17年5月3日,它尚未发布,但您可以直接从GitHub中提取)。

答案 1 :(得分:-1)

您必须调用您链接的函数内的方法。如果HTTP响应头中不存在日期和服务器头,那么该函数将被添加#34;所以如果你不想要这种行为,你需要重新实现它。

这就是人们总是说保持代码模块化和功能小的原因;这个函数对于你的用例来说太大了,并且没有特定的小函数可以完全按照你想要的那样执行(否则它会被这个函数调用!)