请求标头中的HTTParty整数

时间:2018-03-28 21:54:28

标签: ruby-on-rails ruby httparty net-http

我需要POST一个API,这需要一个名为"Timestamp"的请求中的标头,其值必须是一个整数(当前时间从epoch作为整数)。

我尝试使用HTTPartyNet::HTTP执行此操作,如下所示:

response = HTTParty.post(route, body: options[:body].to_json,headers: { 'Timestamp' => Time.now.to_i, 'Authorization' => "Bearer #{options[:token]}",'Content-Type' => 'application/json' })
# >> NoMethodError: undefined method `strip' for 1522273989:Integer

它会在标头值上调用strip,这会引发错误,因为您无法在整数上调用strip

有没有人知道如何在请求标头中传递一个整数?

1 个答案:

答案 0 :(得分:2)

在整数上调用.to_s

response = HTTParty.post(route, body: options[:body].to_json,headers: { 'Timestamp' => Time.now.to_i.to_s, 'Authorization' => "Bearer #{options[:token]}",'Content-Type' => 'application/json' })

您无法在标头中发送整数 - 它是接收端的服务器,必须从请求中转换明文标头。

  

标题字段是明文中以冒号分隔的名称 - 值对   字符串格式,由回车符(CR)和换行符(LF)终止   字符序列。
  List of HTTP header fields - Wikipedia