blob: 5e014d9af9d8546c2551ade8f3c84fbfe1a999be (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
module Web.Router where
import Data.Text (Text)
import Web.Response
import Web.Request
import Web.Http
-- Route callback url method
data Route = Route (Request -> IO Response) Text 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
|