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