diff options
author | Paul Duncan <pabs@pablotron.org> | 2016-03-05 19:12:01 -0500 |
---|---|---|
committer | Paul Duncan <pabs@pablotron.org> | 2016-03-05 19:12:01 -0500 |
commit | 17a15f5c52f88aa44499ac267330e5635f6051b5 (patch) | |
tree | 2838dd4666d1226ef7ea45cf8541145100a5abc3 | |
parent | efe09d414a7a8e71974dde57833ebbe97e997146 (diff) | |
download | old-guff-17a15f5c52f88aa44499ac267330e5635f6051b5.tar.bz2 old-guff-17a15f5c52f88aa44499ac267330e5635f6051b5.zip |
refactor server
-rw-r--r-- | src/guff.cr | 38 | ||||
-rw-r--r-- | src/guff/server.cr | 42 |
2 files changed, 43 insertions, 37 deletions
diff --git a/src/guff.cr b/src/guff.cr index 2bec70d..a429ee4 100644 --- a/src/guff.cr +++ b/src/guff.cr @@ -23,42 +23,6 @@ module Guff end end - class Server - def self.run(model : Model, config : Config) - new(model, config).run - end - - def initialize(@model : Model, @config : Config) - # create server - @server = HTTP::Server.new( - config["host"], - config["port"].to_i, - get_handlers(model, config) - ) do |context| - context.response.puts "asdf" - end - end - - def run - puts "listening on %s:%s" % %w{host port}.map { |k| @config[k] } - @server.listen - end - - private def get_handlers( - model : Model, - config : Config - ) : Array(HTTP::Handler) - @handlers ||= [ - HTTP::ErrorHandler.new, - HTTP::LogHandler.new, - HTTP::DeflateHandler.new, - BlogHandler.new(model, config), - SlugHandler.new(model, config), - HTTP::StaticFileHandler.new(config["public"]), - ] - end - end - def self.run(app, args) # parse env and cli options config = Config.new(app, args) @@ -66,7 +30,7 @@ module Guff # create model model = Model.new(config) - # create server + # create and run server Server.run(model, config) end end diff --git a/src/guff/server.cr b/src/guff/server.cr new file mode 100644 index 0000000..794045a --- /dev/null +++ b/src/guff/server.cr @@ -0,0 +1,42 @@ +require "http/server" +require "./config" +require "./model" +require "./blog-handler" + +module Guff + class Server + def self.run(model : Model, config : Config) + new(model, config).run + end + + def initialize(@model : Model, @config : Config) + # create server + @server = HTTP::Server.new( + config["host"], + config["port"].to_i, + get_handlers(model, config) + ) do |context| + context.response.puts "asdf" + end + end + + def run + puts "listening on %s:%s" % %w{host port}.map { |k| @config[k] } + @server.listen + end + + private def get_handlers( + model : Model, + config : Config + ) : Array(HTTP::Handler) + @handlers ||= [ + HTTP::ErrorHandler.new, + HTTP::LogHandler.new, + HTTP::DeflateHandler.new, + BlogHandler.new(model, config), + SlugHandler.new(model, config), + HTTP::StaticFileHandler.new(config["public"]), + ] + end + end +end |