./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)