Webanwendung mit FastCGI und Haskell
No puede seleccionar más de 25 temas
Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
|
- module Routing (
- routeRequest
- ) where
-
- import Control.Applicative ((<|>))
-
- import Network.URI
- import Network.FastCGI
-
- import App.Startpage
- import App.Info
- import App.Login
- import App.Logout
- import App.Error
- import App.Private
-
- import Request
- import AppMonad
-
- routeRequest :: URI -> App CGIResult
- routeRequest uri = do
- let path = uriPath uri
- mayHandler = handlePath path "^/info" Info
- <|> handlePath path "^/login" Login
- <|> handlePath path "^/logout" Logout
- <|> handlePath path "^/register" Register
- <|> handlePath path "^/private" Private
- <|> handlePath path "^/$" Startpage
- case mayHandler of
- Just handler -> handleRequest handler
- Nothing -> handleRequest PageNotFound
|