Move redirect macro to context def
This commit is contained in:
parent
4dd027eb96
commit
17f944ef9d
4 changed files with 56 additions and 56 deletions
|
@ -196,15 +196,15 @@ describe "Kemal::Handler" do
|
|||
client_response.status_code.should eq(404)
|
||||
end
|
||||
|
||||
# it "redirects user to provided url" do
|
||||
# kemal = Kemal::Handler.new
|
||||
# kemal.add_route "GET", "/" do |env|
|
||||
# redirect "/login"
|
||||
# end
|
||||
# request = HTTP::Request.new("GET", "/")
|
||||
# io_with_context = create_request_and_return_io(kemal, request)
|
||||
# client_response = HTTP::Client::Response.from_io(io_with_context, decompress: false)
|
||||
# client_response.status_code.should eq(301)
|
||||
# client_response.headers.has_key?("Location").should eq(true)
|
||||
# end
|
||||
it "redirects user to provided url" do
|
||||
kemal = Kemal::Handler.new
|
||||
kemal.add_route "GET", "/" do |env|
|
||||
env.redirect "/login"
|
||||
end
|
||||
request = HTTP::Request.new("GET", "/")
|
||||
io_with_context = create_request_and_return_io(kemal, request)
|
||||
client_response = HTTP::Client::Response.from_io(io_with_context, decompress: false)
|
||||
client_response.status_code.should eq(301)
|
||||
client_response.headers.has_key?("Location").should eq(true)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,40 +1,40 @@
|
|||
# require "./spec_helper"
|
||||
#
|
||||
# macro render_with_base_and_layout(filename)
|
||||
# render "spec/asset/#{{{filename}}}", "spec/asset/layout.ecr"
|
||||
# end
|
||||
#
|
||||
# describe "Views" do
|
||||
# it "renders file" do
|
||||
# kemal = Kemal::Handler.new
|
||||
# kemal.add_route "GET", "/view/:name" do |env|
|
||||
# render "spec/asset/hello.ecr"
|
||||
# end
|
||||
# request = HTTP::Request.new("GET", "/view/world")
|
||||
# io_with_context = create_request_and_return_io(kemal, request)
|
||||
# client_response = HTTP::Client::Response.from_io(io_with_context, decompress: false)
|
||||
# client_response.body.should contain("Hello world")
|
||||
# end
|
||||
#
|
||||
# it "renders file with dynamic variables" do
|
||||
# kemal = Kemal::Handler.new
|
||||
# kemal.add_route "GET", "/view/:name" do |env|
|
||||
# render_with_base_and_layout "hello.ecr"
|
||||
# end
|
||||
# request = HTTP::Request.new("GET", "/view/world")
|
||||
# io_with_context = create_request_and_return_io(kemal, request)
|
||||
# client_response = HTTP::Client::Response.from_io(io_with_context, decompress: false)
|
||||
# client_response.body.should contain("Hello world")
|
||||
# end
|
||||
#
|
||||
# it "renders layout" do
|
||||
# kemal = Kemal::Handler.new
|
||||
# kemal.add_route "GET", "/view/:name" do |env|
|
||||
# render "spec/asset/hello.ecr", "spec/asset/layout.ecr"
|
||||
# end
|
||||
# request = HTTP::Request.new("GET", "/view/world")
|
||||
# io_with_context = create_request_and_return_io(kemal, request)
|
||||
# client_response = HTTP::Client::Response.from_io(io_with_context, decompress: false)
|
||||
# client_response.body.should contain("<html>Hello world")
|
||||
# end
|
||||
# end
|
||||
require "./spec_helper"
|
||||
|
||||
macro render_with_base_and_layout(filename)
|
||||
render "spec/asset/#{{{filename}}}", "spec/asset/layout.ecr"
|
||||
end
|
||||
|
||||
describe "Views" do
|
||||
# it "renders file" do
|
||||
# kemal = Kemal::Handler.new
|
||||
# kemal.add_route "GET", "/view/:name" do |env|
|
||||
# render "spec/asset/hello.ecr"
|
||||
# end
|
||||
# request = HTTP::Request.new("GET", "/view/world")
|
||||
# io_with_context = create_request_and_return_io(kemal, request)
|
||||
# client_response = HTTP::Client::Response.from_io(io_with_context, decompress: false)
|
||||
# client_response.body.should contain("Hello world")
|
||||
# end
|
||||
|
||||
# it "renders file with dynamic variables" do
|
||||
# kemal = Kemal::Handler.new
|
||||
# kemal.add_route "GET", "/view/:name" do |env|
|
||||
# render_with_base_and_layout "hello.ecr"
|
||||
# end
|
||||
# request = HTTP::Request.new("GET", "/view/world")
|
||||
# io_with_context = create_request_and_return_io(kemal, request)
|
||||
# client_response = HTTP::Client::Response.from_io(io_with_context, decompress: false)
|
||||
# client_response.body.should contain("Hello world")
|
||||
# end
|
||||
#
|
||||
# it "renders layout" do
|
||||
# kemal = Kemal::Handler.new
|
||||
# kemal.add_route "GET", "/view/:name" do |env|
|
||||
# render "spec/asset/hello.ecr", "spec/asset/layout.ecr"
|
||||
# end
|
||||
# request = HTTP::Request.new("GET", "/view/world")
|
||||
# io_with_context = create_request_and_return_io(kemal, request)
|
||||
# client_response = HTTP::Client::Response.from_io(io_with_context, decompress: false)
|
||||
# client_response.body.should contain("<html>Hello world")
|
||||
# end
|
||||
end
|
||||
|
|
|
@ -7,5 +7,10 @@ class HTTP::Server
|
|||
def params
|
||||
Kemal::ParamParser.new(@route, @request).parse
|
||||
end
|
||||
|
||||
def redirect(url)
|
||||
@response.headers.add "Location", url
|
||||
@response.status_code = 301
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -16,11 +16,6 @@ macro render(filename, layout)
|
|||
render {{layout}}
|
||||
end
|
||||
|
||||
macro redirect(url)
|
||||
env.response.headers.add "Location", {{url}}
|
||||
env.response.status_code = 301
|
||||
end
|
||||
|
||||
macro add_handler(handler)
|
||||
Kemal.config.add_handler {{handler}}
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue