Skip to content

Commit

Permalink
[webui] Set the default format of package routes to html
Browse files Browse the repository at this point in the history
Fixes #2900

Since Rails 5 the routing changed to support the new API application
feature in Rails. For OBS that meant that packages with a mime-like
suffix, like .yaml, caused Rails to handle the response as "mime-type"
format, eg. yaml, instead of html.

To fix this we have to explicitly set the default format to html to
route properly.

Comment from the rails guys:
  rails/rails#28901 (comment)
  • Loading branch information
bgeuken committed May 4, 2017
1 parent 5eaaad2 commit 08a4434
Showing 1 changed file with 15 additions and 13 deletions.
28 changes: 15 additions & 13 deletions src/api/config/routes.rb
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ def self.public_or_about_path?(request)
collection do
get ':project(/:package)/new' => :new, constraints: cons, as: 'new'
get ':project(/:package)/:attribute/edit' => :edit, constraints: cons, as: 'edit'
get ':project(/:package)' => :index, constraints: cons, as: 'index'
get ':project(/:package)' => :index, constraints: cons, as: 'index', defaults: { format: "html" }
end
end

Expand Down Expand Up @@ -97,9 +97,8 @@ def self.public_or_about_path?(request)
get 'monitor/events' => :events
end

controller 'webui/package' do
controller 'webui/package', format: false, defaults: { format: "html" } do
get 'package/show/(:project/(:package))' => :show, as: 'package_show', constraints: cons
get 'package/linking_packages/:project/:package' => :linking_packages, constraints: cons
get 'package/dependency/:project/:package' => :dependency, constraints: cons
get 'package/binary/:project/:package' => :binary, constraints: cons, as: 'package_binary'
get 'package/binaries/:project/:package' => :binaries, constraints: cons, as: 'package_binaries'
Expand All @@ -108,29 +107,32 @@ def self.public_or_about_path?(request)
get 'package/statistics/:project/:package' => :statistics, as: 'package_statistics', constraints: cons
get 'package/commit/:project/:package' => :commit, as: 'package_commit', constraints: cons
get 'package/revisions/:project/:package' => :revisions, constraints: cons, as: 'package_view_revisions'
get 'package/submit_request_dialog/:project/:package' => :submit_request_dialog, constraints: cons
post 'package/submit_request/:project/:package' => :submit_request, constraints: cons
get 'package/add_person/:project/:package' => :add_person, constraints: cons
get 'package/add_group/:project/:package' => :add_group, constraints: cons
get 'package/rdiff/(:project/(:package))' => :rdiff, constraints: cons
post 'package/save_new/:project' => :save_new, constraints: cons
post 'package/branch' => :branch, constraints: cons
post 'package/save/:project/:package' => :save, constraints: cons
get 'package/delete_dialog/:project/:package' => :delete_dialog, constraints: cons
post 'package/remove/:project/:package' => :remove, constraints: cons
get 'package/add_file/:project/:package' => :add_file, constraints: cons
post 'package/save_file/:project/:package' => :save_file, constraints: cons
post 'package/remove_file/:project/:package' => :remove_file, constraints: cons
post 'package/save_person/:project/:package' => :save_person, constraints: cons
post 'package/save_group/:project/:package' => :save_group, constraints: cons
post 'package/remove_role/:project/:package' => :remove_role, constraints: cons
get 'package/view_file/(:project/(:package/(:filename)))' => :view_file, constraints: cons, as: 'package_view_file', defaults: {format: "html"}
get 'package/view_file/(:project/(:package/(:filename)))' => :view_file, constraints: cons, as: 'package_view_file'
get 'package/live_build_log/:project/:package/:repository/:arch' => :live_build_log, constraints: cons, as: 'package_live_build_log'
get 'package/update_build_log/:project/:package/:repository/:arch' => :update_build_log, constraints: cons
get 'package/abort_build/:project/:package' => :abort_build, constraints: cons
post 'package/trigger_services/:project/:package' => :trigger_services, constraints: cons
post 'package/trigger_rebuild/:project/:package' => :trigger_rebuild, constraints: cons
delete 'package/wipe_binaries/:project/:package' => :wipe_binaries, constraints: cons
defaults format: 'js' do
get 'package/linking_packages/:project/:package' => :linking_packages, constraints: cons
get 'package/update_build_log/:project/:package/:repository/:arch' => :update_build_log, constraints: cons
get 'package/submit_request_dialog/:project/:package' => :submit_request_dialog, constraints: cons
get 'package/delete_dialog/:project/:package' => :delete_dialog, constraints: cons
post 'package/trigger_rebuild/:project/:package' => :trigger_rebuild, constraints: cons
get 'package/abort_build/:project/:package' => :abort_build, constraints: cons
post 'package/trigger_services/:project/:package' => :trigger_services, constraints: cons
delete 'package/wipe_binaries/:project/:package' => :wipe_binaries, constraints: cons
end
get 'package/devel_project/:project/:package' => :devel_project, constraints: cons
get 'package/buildresult' => :buildresult, constraints: cons
get 'package/rpmlint_result' => :rpmlint_result, constraints: cons
Expand All @@ -157,7 +159,7 @@ def self.public_or_about_path?(request)
post 'patchinfo/new_patchinfo' => :new_patchinfo
post 'patchinfo/updatepatchinfo' => :updatepatchinfo
get 'patchinfo/edit_patchinfo' => :edit_patchinfo
get 'patchinfo/show/:project/:package' => :show, as: 'patchinfo_show', constraints: cons
get 'patchinfo/show/:project/:package' => :show, as: 'patchinfo_show', constraints: cons, defaults: { format: "html" }
get 'patchinfo/read_patchinfo' => :read_patchinfo
post 'patchinfo/save' => :save
post 'patchinfo/remove' => :remove
Expand All @@ -166,7 +168,7 @@ def self.public_or_about_path?(request)
end
#
controller 'webui/repositories' do
get 'repositories/:project(/:package)' => :index, constraints: cons, as: 'repositories'
get 'repositories/:project(/:package)' => :index, constraints: cons, as: 'repositories', defaults: { format: "html" }
get 'project/repositories/:project' => :index, constraints: cons, as: 'project_repositories'
get 'project/add_repository/:project' => :new, constraints: cons
get 'project/add_repository_from_default_list/:project' => :distributions, constraints: cons
Expand Down

0 comments on commit 08a4434

Please sign in to comment.