mirror of
https://github.com/hkalexling/Mango.git
synced 2025-08-04 11:55:30 -04:00
Respect base url setting when redirecting
This commit is contained in:
parent
8658cb8306
commit
60d4cee0a9
@ -11,7 +11,7 @@ class AuthHandler < Kemal::Handler
|
||||
|
||||
cookie = env.request.cookies.find { |c| c.name == "token" }
|
||||
if cookie.nil? || !@storage.verify_token cookie.value
|
||||
return env.redirect "/login"
|
||||
return redirect env, "/login"
|
||||
end
|
||||
|
||||
if request_path_startswith env, ["/admin", "/api/admin", "/download"]
|
||||
|
@ -48,13 +48,13 @@ class AdminRouter < Router
|
||||
|
||||
@context.storage.new_user username, password, admin
|
||||
|
||||
env.redirect "/admin/user"
|
||||
redirect env, "/admin/user"
|
||||
rescue e
|
||||
@context.error e
|
||||
redirect_url = URI.new \
|
||||
path: "/admin/user/edit",
|
||||
query: hash_to_query({"error" => e.message})
|
||||
env.redirect redirect_url.to_s
|
||||
redirect env, redirect_url.to_s
|
||||
end
|
||||
|
||||
post "/admin/user/edit/:original_username" do |env|
|
||||
@ -85,14 +85,14 @@ class AdminRouter < Router
|
||||
@context.storage.update_user \
|
||||
original_username, username, password, admin
|
||||
|
||||
env.redirect "/admin/user"
|
||||
redirect env, "/admin/user"
|
||||
rescue e
|
||||
@context.error e
|
||||
redirect_url = URI.new \
|
||||
path: "/admin/user/edit",
|
||||
query: hash_to_query({"username" => original_username, \
|
||||
"admin" => admin, "error" => e.message})
|
||||
env.redirect redirect_url.to_s
|
||||
redirect env, redirect_url.to_s
|
||||
end
|
||||
|
||||
get "/admin/downloads" do |env|
|
||||
|
@ -13,7 +13,7 @@ class MainRouter < Router
|
||||
rescue e
|
||||
@context.error "Error when attempting to log out: #{e}"
|
||||
ensure
|
||||
env.redirect "/login"
|
||||
redirect env, "/login"
|
||||
end
|
||||
end
|
||||
|
||||
@ -26,9 +26,9 @@ class MainRouter < Router
|
||||
cookie = HTTP::Cookie.new "token", token
|
||||
cookie.expires = Time.local.shift years: 1
|
||||
env.response.cookies << cookie
|
||||
env.redirect "/"
|
||||
redirect env, "/"
|
||||
rescue
|
||||
env.redirect "/login"
|
||||
redirect env, "/login"
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -15,7 +15,7 @@ class ReaderRouter < Router
|
||||
# might not have actually read them
|
||||
page = [page - 2 * IMGS_PER_PAGE, 1].max
|
||||
|
||||
env.redirect "/reader/#{title.id}/#{entry.id}/#{page}"
|
||||
redirect env, "/reader/#{title.id}/#{entry.id}/#{page}"
|
||||
rescue e
|
||||
@context.error e
|
||||
env.response.status_code = 404
|
||||
|
@ -99,3 +99,8 @@ end
|
||||
def random_str
|
||||
UUID.random.to_s.gsub "-", ""
|
||||
end
|
||||
|
||||
def redirect(env, path)
|
||||
base = Config.current.base_url
|
||||
env.redirect File.join base, path
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user