diff options
author | Paul Duncan <pabs@pablotron.org> | 2016-03-05 23:08:26 -0500 |
---|---|---|
committer | Paul Duncan <pabs@pablotron.org> | 2016-03-05 23:08:26 -0500 |
commit | 1e7f2784a13492da87c8351171e7355dd068bd79 (patch) | |
tree | fdd6b3e2f7c3b08ed6e971b7f00128c06eb29025 /src/guff/server.cr | |
parent | 0c003fc2985c5ce0a2d04026d63ab7265ce9af94 (diff) | |
download | old-guff-1e7f2784a13492da87c8351171e7355dd068bd79.tar.bz2 old-guff-1e7f2784a13492da87c8351171e7355dd068bd79.zip |
add api and test handlers, refactor config
Diffstat (limited to 'src/guff/server.cr')
-rw-r--r-- | src/guff/server.cr | 31 |
1 files changed, 10 insertions, 21 deletions
diff --git a/src/guff/server.cr b/src/guff/server.cr index bc4494c..1d87db7 100644 --- a/src/guff/server.cr +++ b/src/guff/server.cr @@ -1,41 +1,30 @@ require "http/server" require "./config" require "./model" -require "./blog-handler" +require "./handlers" module Guff class Server - def self.run(model : Model, config : Config) - new(model, config).run + def self.run(model : Model) + new(model).run end - def initialize(@model : Model, @config : Config) + def initialize(@model : Model) # create server @server = HTTP::Server.new( - config["host"], - config["port"].to_i, - get_handlers(model, config) + @model.config["host"], + @model.config["port"].to_i, + get_handlers(@model) ) end def run - puts "listening on %s:%s" % %w{host port}.map { |k| @config[k] } + puts "listening on %s:%s" % %w{host port}.map { |k| @model.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"]), - NotFoundHandler.new(model, config), - ] + private def get_handlers(model : Model) : Array(HTTP::Handler) + @handlers ||= Handlers.get(model) end end end |