headers ruby-on-rails ruby http-headers httparty

ruby on rails - headers - Pasar encabezados y parámetros de consulta en HTTparty



httparty headers (2)

Ha sido una pregunta un poco vieja, pero tuvimos el mismo problema recientemente, así que intento adjuntar mis soluciones:

1) La respuesta anterior está funcionando:

"headers": { "Authorization" => "Bearer #{token}" }

2) Alternativamente, la otra solución es:

headers: { Authorization: "Bearer #{token}" }

Cómo pasar parámetros de consulta y encabezados en el método de publicación usando HTTparty. Estoy haciendo lo siguiente, pero arroja

query = {:method => "neworder", :nonce => 1404996028, :order_type => "buy", :quantity=>1,:rate=>1} headers = {:key=> "87819747209090199871234", :sign=> "0a3888ac7f8e411ad73a0a503c55db70a291rsf34bfb9f9a47147d5200882674f717f6ede475669f3453"} HTTParty.post("https://www.acb.com/api/v2/market/LTC_BTC/", :query => query, :headers => headers )

Pero arroja el siguiente error. Cómo manejar los parámetros y los encabezados de cadena de consulta con HTTparty.

/home/user/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/http/header.rb:172:in `capitalize'': undefined method `split'' for :key:Symbol (NoMethodError) from /home/user/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/http/header.rb:165:in `block in each_capitalized'' from /home/user/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/http/header.rb:164:in `each'' from /home/user/.rvm/rubies/ruby-2.1.0/lib/ruby/2.1.0/net/http/header.rb:164:in `each_capitalized''


Use Strings para sus claves hash en lugar de Symbols .

query = { "method" => "neworder", "nonce" => 1404996028, "order_type" => "buy", "quantity" => 1, "rate" => 1 } headers = { "key" => "8781974720909019987", "sign" => "0a3888ac7f8e411ad73a0a503c55db70a291bfb9f9a47147d5200882674f717f6ede475669f3453" } HTTParty.post( "https://www.acb.com/api/v2/market/LTC_BTC/", :query => query, :headers => headers )

Probablemente solo fueron los headers que causaban un problema debido a que el error se producía en net/http/header.rb:172 . La información importante es undefined method ''split'' for :key:Symbol (NoMethodError)

Error de símbolo en irb :

irb(main):002:0> "Something".split => ["Something"] irb(main):003:0> :Something.split NoMethodError: undefined method `split'' for :Something:Symbol from (irb):3 from /usr/bin/irb:12:in `<main>''