diff --git a/src/kemal.cr b/src/kemal.cr index 7a635ab..b99e74e 100644 --- a/src/kemal.cr +++ b/src/kemal.cr @@ -9,11 +9,10 @@ at_exit do end config = Kemal.config - handlers = [] of HTTP::Handler - handlers << HTTP::LogHandler.new - handlers << Kemal::Handler::INSTANCE - handlers << HTTP::StaticFileHandler.new("./public") - server = HTTP::Server.new(config.port, handlers) + config.add_handler HTTP::LogHandler.new + config.add_handler Kemal::Handler::INSTANCE + config.add_handler HTTP::StaticFileHandler.new("./public") + server = HTTP::Server.new(config.port, config.handlers) server.ssl = config.ssl diff --git a/src/kemal/config.cr b/src/kemal/config.cr index 7e3ff70..13b5438 100644 --- a/src/kemal/config.cr +++ b/src/kemal/config.cr @@ -1,6 +1,8 @@ module Kemal + class Config INSTANCE = Config.new + HANDLERS = [] of HTTP::Handler property ssl property port @@ -11,6 +13,14 @@ module Kemal def scheme ssl ? "https" : "http" end + + def handlers + HANDLERS + end + + def add_handler(handler : HTTP::Handler) + HANDLERS << handler + end end def self.config