Respect base url setting when redirecting

This commit is contained in:
Alex Ling
2020-05-23 10:42:59 +00:00
parent 8658cb8306
commit 60d4cee0a9
5 changed files with 14 additions and 9 deletions

View File

@@ -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|

View File

@@ -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

View File

@@ -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