2013-11-15 6 views
0

Я новичок в RestClient, но я глубоко искал в Интернете, и я не мог найти что-то полезное.RestClient получить с auth_token

Мой код заключается в следующем, и работает, но я искал что-то более элегантное:

def get_from_mgmt(sub_path, par) 

    par += "&" unless par.empty? 
    path = ":http//#{USER}:#{PASSWORD}@#{HOST}/#{sub_path}.json?#{par}auth_token=#{AUTH_TOKEN}" 
    single_page = JSON.parse(RestClient.get path) 

end 

я нашел в интернете следующее:

response = RestClient::Request.new(
:method => :get, 
:url => @my_url + "/" + path.to_s, 
:user => @my_user, 
:password => @my_pass, 
:headers => { :accept => :json, 
:content_type => :json } 
).execute 
results = JSON.parse(response.to_str) 

и мне это нравится, но я не понимаю, где добавить AUTH_TOKEN и другие параметры. Я уже пытался добавить auth_token внутри заголовков и обособленно, но внутри инициализации.

Любая помощь приветствуется! Спасибо.

ответ

0

Хорошо, я нашел его. Я должен поставить параметры и auth_token (что также рассматривается в качестве параметра) в: полезная нагрузка

response = RestClient::Request.new(
    :method => :get, 
    :url => base_url + "/" + sub_path, 
    :user => user, 
    :password => pwd, 
    :headers => {:accept => :json, 
        :content_type => :json}, 
    :payload => {:auth_token => auth_token}.merge(par) 
).execute 

, где пар является хэш параметров. В моем случае par = {:states = "fail"}

Смежные вопросы