From ceca7411df9b891a1534f0e90540d23e0af74f25 Mon Sep 17 00:00:00 2001 From: Paul Duncan Date: Sat, 5 Mar 2016 18:59:25 -0500 Subject: refactor Guff::Handler --- src/guff.cr | 33 +++++++++++---------------------- 1 file changed, 11 insertions(+), 22 deletions(-) (limited to 'src/guff.cr') diff --git a/src/guff.cr b/src/guff.cr index 7e32bfc..b19db4c 100644 --- a/src/guff.cr +++ b/src/guff.cr @@ -17,20 +17,6 @@ module Guff end end - class Handler < ::HTTP::Handler - getter :model - getter :config - - def initialize(@model : Model, @config : Config) - end - - def call(context : HTTP::Server::Context) - # do nothing by default - call_next(context) - end - end - - class BlogHandler < Handler MATCHES = [%r{ ^/ @@ -77,13 +63,8 @@ module Guff $ }x, %r{ - ^/ - # match index - blog/? - | - - $ + ^/$ }x] def call(context : HTTP::Server::Context) @@ -103,9 +84,17 @@ module Guff "baz": "test slug baz", } + RE = Regex.new("^/(?:" + MOCK_SLUGS.keys.join("|") + ").html$") + def call(context : HTTP::Server::Context) - puts "SlugHandler: path = %s" % [context.request.path] - call_next(context) + if md = RE.match(context.request.path || "") + context.response.puts "SlugHandler: path = %s, md = %s" % [ + context.request.path, + md.to_s + ] + else + call_next(context) + end end end -- cgit v1.2.3