./lib/dolt/sinatra/multi_repo_browser.rb in dolt-0.20.0 vs ./lib/dolt/sinatra/multi_repo_browser.rb in dolt-0.21.0
- old
+ new
@@ -37,60 +37,88 @@
get "/:repo" do
redirect "/#{params[:repo]}/tree/master:"
end
get "/*/tree/*:*" do
- repo, ref, path = params[:splat]
- tree(repo, ref, path)
+ begin
+ repo, ref, path = params[:splat]
+ tree(repo, ref, path)
+ rescue Exception => err
+ error(err, repo, ref)
+ end
end
get "/*/tree/*" do
force_ref(params[:splat], "tree", "master")
end
get "/*/blob/*:*" do
- repo, ref, path = params[:splat]
- blob(repo, ref, path)
+ begin
+ repo, ref, path = params[:splat]
+ blob(repo, ref, path)
+ rescue Exception => err
+ error(err, repo, ref)
+ end
end
get "/*/blob/*" do
force_ref(params[:splat], "blob", "master")
end
get "/*/raw/*:*" do
- repo, ref, path = params[:splat]
- raw(repo, ref, path)
+ begin
+ repo, ref, path = params[:splat]
+ raw(repo, ref, path)
+ rescue Exception => err
+ error(err, repo, ref)
+ end
end
get "/*/raw/*" do
force_ref(params[:splat], "raw", "master")
end
get "/*/blame/*:*" do
- repo, ref, path = params[:splat]
- blame(repo, ref, path)
+ begin
+ repo, ref, path = params[:splat]
+ blame(repo, ref, path)
+ rescue Exception => err
+ error(err, repo, ref)
+ end
end
get "/*/blame/*" do
force_ref(params[:splat], "blame", "master")
end
get "/*/history/*:*" do
- repo, ref, path = params[:splat]
- history(repo, ref, path, (params[:commit_count] || 20).to_i)
+ begin
+ repo, ref, path = params[:splat]
+ history(repo, ref, path, (params[:commit_count] || 20).to_i)
+ rescue Exception => err
+ error(err, repo, ref)
+ end
end
get "/*/history/*" do
force_ref(params[:splat], "history", "master")
end
get "/*/refs" do
- refs(params[:splat].first)
+ begin
+ refs(params[:splat].first)
+ rescue Exception => err
+ error(err, repo, nil)
+ end
end
get "/*/tree_history/*:*" do
- repo, ref, path = params[:splat]
- tree_history(repo, ref, path)
+ begin
+ repo, ref, path = params[:splat]
+ tree_history(repo, ref, path)
+ rescue Exception => err
+ error(err, repo, ref)
+ end
end
private
def force_ref(args, action, ref)
redirect(args.shift + "/#{action}/#{ref}:" + args.join)