Actually there's no middleware anymore

This commit is contained in:
Sdogruyol 2016-12-04 01:43:30 +03:00
parent 1afb4cbfa8
commit eb64b52f84
7 changed files with 17 additions and 19 deletions

View File

@ -52,7 +52,7 @@ describe "Context" do
io = IO::Memory.new
response = HTTP::Server::Response.new(io)
context = HTTP::Server::Context.new(request, response)
Kemal::Middleware::Filter::INSTANCE.call(context)
Kemal::FilterHandler::INSTANCE.call(context)
Kemal::RouteHandler::INSTANCE.call(context)
context.store["key"].should eq "value"
context.store["before_get"].should eq "Kemal"

View File

@ -49,7 +49,7 @@ end
describe "Handler" do
it "adds custom handler before before_*" do
filter_middleware = Kemal::Middleware::Filter.new
filter_middleware = Kemal::FilterHandler.new
filter_middleware._add_route_filter("GET", "/", :before) do |env|
env.response << " is"
end

View File

@ -1,11 +1,11 @@
require "../spec_helper"
describe "Kemal::Middleware::Filters" do
describe "Kemal::FilterHandler" do
it "executes code before home request" do
test_filter = FilterTest.new
test_filter.modified = "false"
filter_middleware = Kemal::Middleware::Filter.new
filter_middleware = Kemal::FilterHandler.new
filter_middleware._add_route_filter("GET", "/greetings", :before) { test_filter.modified = "true" }
kemal = Kemal::RouteHandler::INSTANCE
@ -23,7 +23,7 @@ describe "Kemal::Middleware::Filters" do
test_filter = FilterTest.new
test_filter.modified = "false"
filter_middleware = Kemal::Middleware::Filter.new
filter_middleware = Kemal::FilterHandler.new
filter_middleware._add_route_filter("GET", "/greetings", :before) { test_filter.modified = test_filter.modified == "true" ? "false" : "true" }
kemal = Kemal::RouteHandler::INSTANCE
@ -49,7 +49,7 @@ describe "Kemal::Middleware::Filters" do
test_filter = FilterTest.new
test_filter.modified = "false"
filter_middleware = Kemal::Middleware::Filter.new
filter_middleware = Kemal::FilterHandler.new
filter_middleware._add_route_filter("ALL", "/greetings", :before) { test_filter.modified = test_filter.modified == "true" ? "false" : "true" }
filter_middleware._add_route_filter("GET", "/greetings", :before) { test_filter.modified = test_filter.modified == "true" ? "false" : "true" }
filter_middleware._add_route_filter("POST", "/greetings", :before) { test_filter.modified = test_filter.modified == "true" ? "false" : "true" }
@ -77,7 +77,7 @@ describe "Kemal::Middleware::Filters" do
test_filter = FilterTest.new
test_filter.modified = "false"
filter_middleware = Kemal::Middleware::Filter.new
filter_middleware = Kemal::FilterHandler.new
filter_middleware._add_route_filter("GET", "/greetings", :after) { test_filter.modified = "true" }
kemal = Kemal::RouteHandler::INSTANCE
@ -95,7 +95,7 @@ describe "Kemal::Middleware::Filters" do
test_filter = FilterTest.new
test_filter.modified = "false"
filter_middleware = Kemal::Middleware::Filter.new
filter_middleware = Kemal::FilterHandler.new
filter_middleware._add_route_filter("GET", "/greetings", :after) { test_filter.modified = test_filter.modified == "true" ? "false" : "true" }
kemal = Kemal::RouteHandler::INSTANCE
@ -121,7 +121,7 @@ describe "Kemal::Middleware::Filters" do
test_filter = FilterTest.new
test_filter.modified = "false"
filter_middleware = Kemal::Middleware::Filter.new
filter_middleware = Kemal::FilterHandler.new
filter_middleware._add_route_filter("ALL", "/greetings", :after) { test_filter.modified = test_filter.modified == "true" ? "false" : "true" }
filter_middleware._add_route_filter("GET", "/greetings", :after) { test_filter.modified = test_filter.modified == "true" ? "false" : "true" }
filter_middleware._add_route_filter("POST", "/greetings", :after) { test_filter.modified = test_filter.modified == "true" ? "false" : "true" }
@ -152,7 +152,7 @@ describe "Kemal::Middleware::Filters" do
test_filter_third = FilterTest.new
test_filter_third.modified = "false"
filter_middleware = Kemal::Middleware::Filter.new
filter_middleware = Kemal::FilterHandler.new
filter_middleware._add_route_filter("ALL", "/greetings", :before) { test_filter.modified = test_filter.modified == "true" ? "false" : "true" }
filter_middleware._add_route_filter("ALL", "/greetings", :before) { test_filter_second.modified = test_filter_second.modified == "true" ? "false" : "true" }
filter_middleware._add_route_filter("ALL", "/greetings", :before) { test_filter_third.modified = test_filter_third.modified == "true" ? "false" : "true" }

View File

@ -2,7 +2,6 @@ require "http"
require "multipart"
require "./kemal/*"
require "./kemal/helpers/*"
require "./kemal/middleware/*"
module Kemal
# The command to run a `Kemal` application.

View File

@ -49,7 +49,7 @@ module Kemal
puts "SSL Certificate Not Found"
exit
end
ssl = Kemal::Middleware::SSL.new
ssl = Kemal::SSL.new
ssl.set_key_file @key_file.not_nil!
ssl.set_cert_file @cert_file.not_nil!
Kemal.config.ssl = ssl.context

View File

@ -1,12 +1,12 @@
module Kemal::Middleware
# Kemal::Filter handle all code that should be evaluated before and after
module Kemal
# Kemal::FilterHandler handle all code that should be evaluated before and after
# every request
class Filter < HTTP::Handler
class FilterHandler < HTTP::Handler
INSTANCE = new
# This middleware is lazily instantiated and added to the handlers as soon as a call to `after_X` or `before_X` is made.
def initialize
@tree = Radix::Tree(Array(Kemal::Middleware::FilterBlock)).new
@tree = Radix::Tree(Array(Kemal::FilterBlock)).new
Kemal.config.add_filter_handler(self)
end
@ -91,7 +91,7 @@ ALL_METHODS = %w(get post put patch delete all)
{% for type in ["before", "after"] %}
{% for method in ALL_METHODS %}
def {{type.id}}_{{method.id}}(path = "*", &block : HTTP::Server::Context -> _)
Kemal::Middleware::Filter::INSTANCE.{{type.id}}({{method}}.upcase, path, &block)
Kemal::FilterHandler::INSTANCE.{{type.id}}({{method}}.upcase, path, &block)
end
{% end %}
{% end %}

View File

@ -1,5 +1,4 @@
module Kemal::Middleware
# This middleware adds SSL / TLS support.
module Kemal
class SSL
getter context