Как отправить файл XML с использованием гема Фарадея и получить ответ в Ruby - PullRequest
0 голосов
/ 16 мая 2019

Я изучаю, как отправлять http-запросы, и хочу отправить весь XML-файл, используя гем Фарадея, и получаю ответ

Это то, что я нашел, как я могу отправить весь файл, используя фарадей (гем фарадея уже установлен)

faraday = Faraday.new do |f|
    f.request :multipart 
    f.request :url_encoded 
    f.adapter :net_http
end
    file_io = Faraday::UploadIO.new('act.xml', 'rb')
    faraday.post('example.com', file_io)

И после этого я получил это сообщение в консоли ..... rvm / gems / ruby-2.6.2 / gems / faraday-0.15.4 / lib / faraday / request / url_encoded.rb: 12: в `[] ': нечетное количество аргументов для хэша (ArgumentError)

1 Ответ

0 голосов
/ 16 мая 2019

Это должно работать.

faraday = Faraday.new do |f|
  f.request :multipart 
  f.request :url_encoded 
  f.adapter :net_http
end

payload = {xml: Faraday::UploadIO.new('act.xml', 'application/xml')}
faraday.post('http://example.com', payload)
...