Rest-Client Ruby Gem Headers - PullRequest
       14

Rest-Client Ruby Gem Headers

4 голосов
/ 11 мая 2011

Я пытаюсь использовать гем rest-client для публикации чего-либо, но по какой-то причине я продолжаю получать Внутреннюю ошибку сервера. Я использовал Simple REST Client в Chrome и получил ту же ошибку, если не отправил следующий заголовок:

Content-Type: application/x-www-form-urlencoded

Итак, я пытаюсь отправить этот заголовок с запросом на публикацию, но по какой-то причине он все еще не работает. Вот что я попробовал:

RestClient.post "server", :content_type=>"Content-Type: application/x-www-form-urlencoded",:name=> 'Test', :message_type=> 'Request', :version=> '2.0'
RestClient.post "server", {:content_type=> "Content-Type: application/x-www-form-urlencoded"},:name=> 'Test', :message_type=> 'Request', :version=> '2.0'
RestClient.post "server", {"Content-Type" =>"Content-Type: application/x-www-form-urlencoded"},:name=> 'Test', :message_type=> 'Request', :version=> '2.0'
RestClient.post "server", :header => {:content_type=>: "Content-Type: application/x-www-form-urlencoded"},:name=> 'Test', :message_type=> 'Request', :version=> '2.0'

Может кто-нибудь сказать мне, что я делаю не так? Поиск по всем документам, которые указывают, как установить заголовок, но, похоже, ничего не работает.

1 Ответ

5 голосов
/ 20 мая 2011

Я пробовал что-то вроде этого и работал нормально:

options[:multipart] = true
# more options

resource = RestClient::Resource.new uri, options[:username], options[:password]
resource.post options do |response, request, result|

..............

end

Похоже, что multipart должен быть передан, как вы делаете с обычными параметрами.Вторые аргументы будут просто добавлены в заголовки.

Надеюсь, это поможет

resource.post {params and request}, {custom headers here} do.... 
...
...