Ruby法拉第gem没有body时加Content-type

Ruby Faraday gem adds Content-type when no body

我正在使用 Ruby Faraday gem 向 Bitstamp API.

发出一些请求

我想用一个空 body 发出 this post 请求(以获取我的帐户余额)。我遇到的问题是法拉第在执行请求期间添加了一个 Content-type header,我想是在中间件中。当 body 为空时,Bitstamp API 不允许包含 Content-type header,所以我收到以下错误:

BitstampClient::Error: Bitstamp error: 403 {"status": "error", "reason": "Content-Type header should not be present", "code": "API0020"

如何排除 Content-type header?我在 Postman 中测试了相同的请求,效果很好。所以我确定这就是问题所在。

My builder is the following: <Faraday::RackBuilder:0x000000401e9f2208 @adapter=Faraday::Adapter::NetHttp, @handlers=[Faraday::Request::UrlEncoded]>

是的,UrlEncoded 中间件添加了 Content-Type header。文档:

The middleware also automatically sets the Content-Type header to application/x-www-form-urlencoded. https://github.com/lostisland/faraday/blob/8f00640dd51da00c8ca09f29bca0a2b32c553925/docs/middleware/request/url_encoded.md