Webanwendung mit FastCGI und Haskell
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

32 řádky
798B

  1. module Routing (
  2. routeRequest
  3. ) where
  4. import Control.Applicative ((<|>))
  5. import Network.URI
  6. import Network.FastCGI
  7. import App.Startpage
  8. import App.Info
  9. import App.Login
  10. import App.Logout
  11. import App.Error
  12. import App.Private
  13. import Request
  14. import AppMonad
  15. routeRequest :: URI -> App CGIResult
  16. routeRequest uri = do
  17. let path = uriPath uri
  18. mayHandler = handlePath path "^/info" Info
  19. <|> handlePath path "^/login" Login
  20. <|> handlePath path "^/logout" Logout
  21. <|> handlePath path "^/register" Register
  22. <|> handlePath path "^/private" Private
  23. <|> handlePath path "^/$" Startpage
  24. case mayHandler of
  25. Just handler -> handleRequest handler
  26. Nothing -> handleRequest PageNotFound