fix search for multiple words, #505240
[opensuse:software-o-o.git] / app / controllers / main_controller.rb
1 require 'net/http'
2
3 class MainController < ApplicationController
4   verify :only => :ymp, :params => [:project, :repository, :arch, :binary],
5     :redirect_to => :index
6
7
8   def old_dist
9     dist = params[:dist]
10     begin
11       render :template => "main/old_#{dist}.rhtml"
12     rescue Object
13       @message = "No old page found for dist #{dist}"
14       render :template => "error", :status => 404
15     end
16   end
17
18   def ymp_with_arch_and_version
19     path = "/published/#{params[:project]}/#{params[:repository]}/#{params[:arch]}/#{params[:binary]}?view=ymp"
20     res = get_from_api(path)
21     render :text => res.body, :content_type => res.content_type
22   end
23
24   def ymp_without_arch_and_version
25     path = "/published/#{params[:project]}/#{params[:repository]}/#{params[:package]}?view=ymp"
26     res = get_from_api(path)
27     render :text => res.body, :content_type => res.content_type
28   end
29
30   private
31   
32   def get_from_api(path)
33     req = Net::HTTP::Get.new(path)
34     req['x-username'] = "obs_read_only"
35
36     host, port = API_HOST.split(/:/)
37     port ||= 80
38     res = Net::HTTP.new(host, port).start do |http|
39       http.request(req)
40     end
41   end
42 end