Я хочу сделать что-то вроде этого поста , но в настоящем приложении Rails, а не в тестировании.
Я хочу посмотреть, был ли HTTP-запрос успешным или нет.Если это не удачно (иначе 404 Not Found), тогда я хочу сделать другой HTML.Но я не могу понять синтаксис для сравнения.
В настоящее время у меня есть:
def videos # get current_user's wistia_project_id & authorization token @current_user = current_user project_id = @current_user.wistia_project_id auth_token = "blah" request = "https://api.wistia.com/v1/projects/#{project_id}.json?api_password=#{auth_token}" @response = HTTP.get(request).body puts HTTP.get(request).status # handle errors: not 200 OK if !HTTP.get(request).status: render "/errors.html.erb/" end # get embed code for each video using the hashed_id, put in list @video_iframe_urls = JSON.parse(@response)['medias'].map do |p| "https://fast.wistia.com/embed/iframe/#{p["hashed_id"]}?version=v1&controlsVisibleOnLoad=true&playerColor=aae3d8" end end
require 'net/http' uri = URI("https://api.wistia.com/v1/projects/#{project_id}.json?api_password=#{auth_token}") res = Net::HTTP.get_response(uri) # Status puts res.code # => '200' puts res.message # => 'OK' puts res.class.name # => 'HTTPOK' # Body puts res.body if res.response_body_permitted?