summaryrefslogtreecommitdiff
path: root/Router.hs
blob: 17ee11cd4d45b3448c97c516603bac215c47f653 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
module Router where

import Response
import Request
import Http

-- Route callback url method
data Route = Route (Request -> IO Response) String Method

resolve :: [Route] -> Request -> IO Response
resolve [] _ = return notFoundResponse
resolve (Route callback routeUrl _ : routerTable) req @ (Request _ url _) =
  if url == routeUrl then
    callback req
  else resolve routerTable req