From 6907a35ac265c4d4eeb127befea481a84e59ad4a Mon Sep 17 00:00:00 2001 From: Andrew Date: Thu, 26 Nov 2020 16:51:52 +0400 Subject: Added Http parsing --- Router.hs | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'Router.hs') diff --git a/Router.hs b/Router.hs index 4798ec1..cad4bc8 100644 --- a/Router.hs +++ b/Router.hs @@ -4,6 +4,7 @@ import Control.Exception import Response import Request +-- Route callback url method data Route = Route (Request -> IO Response) String String data RouterError = RouteNotFound @@ -11,11 +12,9 @@ data RouterError = RouteNotFound instance Exception RouterError -getResponse [] _ = throw RouteNotFound -getResponse (Route callback routeUrl _ : routerTable) req @ (Request _ url _) = +resolve :: [Route] -> Request -> IO Response +resolve [] _ = return notFoundResponse +resolve (Route callback routeUrl _ : routerTable) req @ (Request _ url _) = if url == routeUrl then callback req - else getResponse routerTable req - -router table req = - + else resolve routerTable req -- cgit v1.2.3