mirror of
https://gitea.invidious.io/iv-org/shard-kemal.git
synced 2024-08-15 00:53:36 +00:00
Modularize handlers
This commit is contained in:
parent
ce9e924d00
commit
62946fd987
3 changed files with 23 additions and 4 deletions
|
@ -17,6 +17,7 @@ module Kemal
|
|||
property host_binding, ssl, port, env, public_folder, logging, running,
|
||||
always_rescue, serve_static : (Bool | Hash(String, Bool)), server, extra_options,
|
||||
shutdown_message
|
||||
getter custom_handler_position
|
||||
|
||||
def initialize
|
||||
@host_binding = "0.0.0.0"
|
||||
|
@ -59,9 +60,14 @@ module Kemal
|
|||
HANDLERS
|
||||
end
|
||||
|
||||
def add_handler(handler : HTTP::Handler | HTTP::WebSocketHandler)
|
||||
def handlers=(handlers : Array(HTTP::Handler))
|
||||
clear
|
||||
handlers.each { |handler| HANDLERS << handler }
|
||||
end
|
||||
|
||||
def add_handler(handler : HTTP::Handler | HTTP::WebSocketHandler, position = Kemal.config.custom_handler_position)
|
||||
setup
|
||||
HANDLERS.insert @custom_handler_position, handler
|
||||
HANDLERS.insert position, handler
|
||||
@custom_handler_position = @custom_handler_position + 1
|
||||
end
|
||||
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
# - Kemal::StaticFileHandler
|
||||
# - Here goes custom handlers
|
||||
# - Kemal::RouteHandler
|
||||
def add_handler(handler)
|
||||
Kemal.config.add_handler handler
|
||||
def add_handler(handler, position = Kemal.config.custom_handler_position)
|
||||
Kemal.config.add_handler handler, position
|
||||
end
|
||||
|
||||
# Sets public folder from which the static assets will be served.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue