aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Duncan <pabs@pablotron.org>2016-03-05 19:12:01 -0500
committerPaul Duncan <pabs@pablotron.org>2016-03-05 19:12:01 -0500
commit17a15f5c52f88aa44499ac267330e5635f6051b5 (patch)
tree2838dd4666d1226ef7ea45cf8541145100a5abc3
parentefe09d414a7a8e71974dde57833ebbe97e997146 (diff)
downloadold-guff-17a15f5c52f88aa44499ac267330e5635f6051b5.tar.bz2
old-guff-17a15f5c52f88aa44499ac267330e5635f6051b5.zip
refactor server
-rw-r--r--src/guff.cr38
-rw-r--r--src/guff/server.cr42
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