Merge branch 'dm-no-format-suffix' into 'master'
Remove format from end of URL for URLs that take a ref or path See merge request !10740
This commit is contained in:
commit
60196e8bcc
3 changed files with 79 additions and 110 deletions
|
@ -42,29 +42,6 @@ constraints(ProjectUrlConstrainer.new) do
|
||||||
resources :domains, only: [:show, :new, :create, :destroy], controller: 'pages_domains', constraints: { id: /[^\/]+/ }
|
resources :domains, only: [:show, :new, :create, :destroy], controller: 'pages_domains', constraints: { id: /[^\/]+/ }
|
||||||
end
|
end
|
||||||
|
|
||||||
resources :compare, only: [:index, :create] do
|
|
||||||
collection do
|
|
||||||
get :diff_for_path
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
get '/compare/:from...:to', to: 'compare#show', as: 'compare', constraints: { from: /.+/, to: /.+/ }
|
|
||||||
|
|
||||||
# Don't use format parameter as file extension (old 3.0.x behavior)
|
|
||||||
# See http://guides.rubyonrails.org/routing.html#route-globbing-and-wildcard-segments
|
|
||||||
scope format: false do
|
|
||||||
resources :network, only: [:show], constraints: { id: Gitlab::Regex.git_reference_regex }
|
|
||||||
|
|
||||||
resources :graphs, only: [:show], constraints: { id: Gitlab::Regex.git_reference_regex } do
|
|
||||||
member do
|
|
||||||
get :charts
|
|
||||||
get :commits
|
|
||||||
get :ci
|
|
||||||
get :languages
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
resources :snippets, concerns: :awardable, constraints: { id: /\d+/ } do
|
resources :snippets, concerns: :awardable, constraints: { id: /\d+/ } do
|
||||||
member do
|
member do
|
||||||
get 'raw'
|
get 'raw'
|
||||||
|
@ -128,15 +105,6 @@ constraints(ProjectUrlConstrainer.new) do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
resources :branches, only: [:index, :new, :create, :destroy], constraints: { id: Gitlab::Regex.git_reference_regex }
|
|
||||||
delete :merged_branches, controller: 'branches', action: :destroy_all_merged
|
|
||||||
resources :tags, only: [:index, :show, :new, :create, :destroy], constraints: { id: Gitlab::Regex.git_reference_regex } do
|
|
||||||
resource :release, only: [:edit, :update]
|
|
||||||
end
|
|
||||||
|
|
||||||
resources :protected_branches, only: [:index, :show, :create, :update, :destroy], constraints: { id: Gitlab::Regex.git_reference_regex }
|
|
||||||
resources :protected_tags, only: [:index, :show, :create, :update, :destroy], constraints: { id: Gitlab::Regex.git_reference_regex }
|
|
||||||
|
|
||||||
resources :variables, only: [:index, :show, :update, :create, :destroy]
|
resources :variables, only: [:index, :show, :update, :create, :destroy]
|
||||||
resources :triggers, only: [:index, :create, :edit, :update, :destroy] do
|
resources :triggers, only: [:index, :create, :edit, :update, :destroy] do
|
||||||
member do
|
member do
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
# All routing related to repositoty browsing
|
# All routing related to repository browsing
|
||||||
|
|
||||||
resource :repository, only: [:create] do
|
resource :repository, only: [:create] do
|
||||||
member do
|
member do
|
||||||
|
@ -6,83 +6,84 @@ resource :repository, only: [:create] do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
resources :refs, only: [] do
|
# Don't use format parameter as file extension (old 3.0.x behavior)
|
||||||
collection do
|
# See http://guides.rubyonrails.org/routing.html#route-globbing-and-wildcard-segments
|
||||||
get 'switch'
|
scope format: false do
|
||||||
|
get '/compare/:from...:to', to: 'compare#show', as: 'compare', constraints: { from: /.+/, to: /.+/ }
|
||||||
|
|
||||||
|
resources :compare, only: [:index, :create] do
|
||||||
|
collection do
|
||||||
|
get :diff_for_path
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
member do
|
resources :refs, only: [] do
|
||||||
# tree viewer logs
|
collection do
|
||||||
get 'logs_tree', constraints: { id: Gitlab::Regex.git_reference_regex }
|
get 'switch'
|
||||||
# Directories with leading dots erroneously get rejected if git
|
end
|
||||||
# ref regex used in constraints. Regex verification now done in controller.
|
|
||||||
get 'logs_tree/*path' => 'refs#logs_tree', as: :logs_file, constraints: {
|
member do
|
||||||
id: /.*/,
|
# tree viewer logs
|
||||||
path: /.*/
|
get 'logs_tree', constraints: { id: Gitlab::Regex.git_reference_regex }
|
||||||
}
|
# Directories with leading dots erroneously get rejected if git
|
||||||
|
# ref regex used in constraints. Regex verification now done in controller.
|
||||||
|
get 'logs_tree/*path', action: :logs_tree, as: :logs_file, format: false, constraints: {
|
||||||
|
id: /.*/,
|
||||||
|
path: /.*/
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
scope constraints: { id: Gitlab::Regex.git_reference_regex } do
|
||||||
|
resources :network, only: [:show]
|
||||||
|
|
||||||
|
resources :graphs, only: [:show] do
|
||||||
|
member do
|
||||||
|
get :charts
|
||||||
|
get :commits
|
||||||
|
get :ci
|
||||||
|
get :languages
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
resources :branches, only: [:index, :new, :create, :destroy]
|
||||||
|
delete :merged_branches, controller: 'branches', action: :destroy_all_merged
|
||||||
|
resources :tags, only: [:index, :show, :new, :create, :destroy] do
|
||||||
|
resource :release, only: [:edit, :update]
|
||||||
|
end
|
||||||
|
|
||||||
|
resources :protected_branches, only: [:index, :show, :create, :update, :destroy]
|
||||||
|
resources :protected_tags, only: [:index, :show, :create, :update, :destroy]
|
||||||
|
end
|
||||||
|
|
||||||
|
scope constraints: { id: /.+/ } do
|
||||||
|
scope controller: :blob do
|
||||||
|
get '/new/*id', action: :new, as: :new_blob
|
||||||
|
post '/create/*id', action: :create, as: :create_blob
|
||||||
|
get '/edit/*id', action: :edit, as: :edit_blob
|
||||||
|
put '/update/*id', action: :update, as: :update_blob
|
||||||
|
post '/preview/*id', action: :preview, as: :preview_blob
|
||||||
|
|
||||||
|
scope path: '/blob/*id', as: :blob do
|
||||||
|
get :diff
|
||||||
|
get '/', action: :show
|
||||||
|
delete '/', action: :destroy
|
||||||
|
post '/', action: :create
|
||||||
|
put '/', action: :update
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
get '/tree/*id', to: 'tree#show', as: :tree
|
||||||
|
get '/raw/*id', to: 'raw#show', as: :raw
|
||||||
|
get '/blame/*id', to: 'blame#show', as: :blame
|
||||||
|
get '/commits/*id', to: 'commits#show', as: :commits
|
||||||
|
|
||||||
|
post '/create_dir/*id', to: 'tree#create_dir', as: :create_dir
|
||||||
|
|
||||||
|
scope controller: :find_file do
|
||||||
|
get '/find_file/*id', action: :show, as: :find_file
|
||||||
|
|
||||||
|
get '/files/*id', action: :list, as: :files
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
get '/new/*id', to: 'blob#new', constraints: { id: /.+/ }, as: 'new_blob'
|
|
||||||
post '/create/*id', to: 'blob#create', constraints: { id: /.+/ }, as: 'create_blob'
|
|
||||||
get '/edit/*id', to: 'blob#edit', constraints: { id: /.+/ }, as: 'edit_blob'
|
|
||||||
put '/update/*id', to: 'blob#update', constraints: { id: /.+/ }, as: 'update_blob'
|
|
||||||
post '/preview/*id', to: 'blob#preview', constraints: { id: /.+/ }, as: 'preview_blob'
|
|
||||||
|
|
||||||
scope('/blob/*id', as: :blob, controller: :blob, constraints: { id: /.+/, format: false }) do
|
|
||||||
get :diff
|
|
||||||
get '/', action: :show
|
|
||||||
delete '/', action: :destroy
|
|
||||||
post '/', action: :create
|
|
||||||
put '/', action: :update
|
|
||||||
end
|
|
||||||
|
|
||||||
get(
|
|
||||||
'/raw/*id',
|
|
||||||
to: 'raw#show',
|
|
||||||
constraints: { id: /.+/, format: /(html|js)/ },
|
|
||||||
as: :raw
|
|
||||||
)
|
|
||||||
|
|
||||||
get(
|
|
||||||
'/tree/*id',
|
|
||||||
to: 'tree#show',
|
|
||||||
constraints: { id: /.+/, format: /(html|js)/ },
|
|
||||||
as: :tree
|
|
||||||
)
|
|
||||||
|
|
||||||
get(
|
|
||||||
'/find_file/*id',
|
|
||||||
to: 'find_file#show',
|
|
||||||
constraints: { id: /.+/, format: /html/ },
|
|
||||||
as: :find_file
|
|
||||||
)
|
|
||||||
|
|
||||||
get(
|
|
||||||
'/files/*id',
|
|
||||||
to: 'find_file#list',
|
|
||||||
constraints: { id: /(?:[^.]|\.(?!json$))+/, format: /json/ },
|
|
||||||
as: :files
|
|
||||||
)
|
|
||||||
|
|
||||||
post(
|
|
||||||
'/create_dir/*id',
|
|
||||||
to: 'tree#create_dir',
|
|
||||||
constraints: { id: /.+/ },
|
|
||||||
as: 'create_dir'
|
|
||||||
)
|
|
||||||
|
|
||||||
get(
|
|
||||||
'/blame/*id',
|
|
||||||
to: 'blame#show',
|
|
||||||
constraints: { id: /.+/, format: /(html|js)/ },
|
|
||||||
as: :blame
|
|
||||||
)
|
|
||||||
|
|
||||||
# File/dir history
|
|
||||||
get(
|
|
||||||
'/commits/*id',
|
|
||||||
to: 'commits#show',
|
|
||||||
constraints: { id: /.+/, format: false },
|
|
||||||
as: :commits
|
|
||||||
)
|
|
||||||
|
|
|
@ -484,7 +484,7 @@ describe 'project routing' do
|
||||||
end
|
end
|
||||||
|
|
||||||
it 'to #list' do
|
it 'to #list' do
|
||||||
expect(get('/gitlab/gitlabhq/files/master.json')).to route_to('projects/find_file#list', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'master', format: 'json')
|
expect(get('/gitlab/gitlabhq/files/master.json')).to route_to('projects/find_file#list', namespace_id: 'gitlab', project_id: 'gitlabhq', id: 'master.json')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue