Webanwendung mit FastCGI und Haskell
Ви не можете вибрати більше 25 тем
Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
|
- 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
|