在rails上的ruby中设置空白的自定义标头

时间:2016-08-05 15:03:29

标签: ruby-on-rails http-headers

我正在使用Ruby on rails编写REST服务器。

与客户端的一些通信是通过将某些自定义标头设置为预定义值。在某些情况下,服务器应该使用空字符串的自定义标头进行响应。我的问题是rails似乎省略了响应中的任何空白标题(它甚至会省略空格标题)。

这是我目前的代码:

config.action_dispatch.default_headers = {
  'X-WOPI-EmptyLock' => "",
  'X-WOPI-FullLock' => "astring",
  'Random-header' => "with value",
  'Random-empty-header' => ""
}

但响应只包含非空字符串的标题:

Resulting headers in response Curl response headers

是否有某种方法可以将rails配置为仍然发送标头,即使它们是空的?

1 个答案:

答案 0 :(得分:0)

您可以在custom headers文件中设置config/application.rb

前:

config.action_dispatch.default_headers = {
  'Custom-Header1' => "", # without value
  'Custom-Header2' => "with value"
}

注意:在进行更改后重新启动rails服务器

回应

Custome-Header1 →
Custome-Header2 →with value

更新回答

以下是controller code,如下所示

 def home

    response.headers["My-Custome-Header"] = "With value"
    response.headers["My-Custome-Header-2"] = "" # Without value

    render json: {data: "It's working my friend"}
  end

并且需要输出,如屏幕截图所示

enter image description here

希望这会对你有所帮助。