wai-routes-0.3.1: wai-routes.cabal
Name: wai-routes
Version: 0.3.1
Synopsis: Typesafe URLs for Wai applications.
Homepage: https://github.com/ajnsit/wai-routes
License: MIT
License-file: LICENSE
Author: Anupam Jain
Maintainer: ajnsit@gmail.com
Build-Type: Simple
Cabal-Version: >=1.6
stability: Experimental
Category: Network
Extra-source-files: README, examples/Example.hs
Description:
Provides easy to use typesafe URLs for Wai Applications.
.
Sample usage follows (See examples/Example.hs in the source bundle for the full code) -
.
@
{-# LANGUAGE OverloadedStrings, TypeFamilies #-}
.
import Network.Wai
import Network.Wai.Middleware.Routes
.
import Data.IORef
.
-- The Site Argument
data MyRoute = MyRoute (IORef DB)
.
-- Generate Routes
mkRoute "MyRoute" [parseRoutes|
/ UsersR GET
/user/#Int UserR:
  / UserRootR GET
  /delete UserDeleteR POST
|]
.
-- Define Handlers
-- All Users Page
getUsersR :: Handler MyRoute
getUsersR (MyRoute dbref) request = ...
-- Single User Page
getUserRootR :: Int -> Handler MyRoute
getUserRootR userid (MyRoute dbref) request = ...
-- Delete Single User
postUserDeleteR :: Int -> Handler MyRoute
postUserDeleteR userid (MyRoute dbref) request = ...
.
-- Define Application using RouteM Monad
myApp = do
  db <- liftIO $ newIORef mydb
  route (MyRoute db)
  setDefaultAction $ staticApp $ defaultFileServerSettings "static"
.
-- Run the application
main :: IO ()
main = toWaiApp myApp >>= run 8080
@
source-repository head
type: git
location: http://github.com/ajnsit/wai-routes
source-repository this
type: git
location: http://github.com/ajnsit/wai-routes/tree/v0.3.1
tag: v0.3.1
Library
hs-source-dirs: src
Build-Depends: base >= 3 && < 5
, wai >= 1.3 && < 1.5
, conduit >= 0.5 && < 1.1
, path-pieces
, text
, bytestring
, http-types >= 0.7
, blaze-builder >= 0.2.1.4 && < 0.4
, template-haskell
, yesod-routes >= 1.2
, mtl
exposed-modules: Network.Wai.Middleware.Routes
, Network.Wai.Middleware.Routes.Routes
, Network.Wai.Middleware.Routes.Monad
, Network.Wai.Middleware.Routes.ContentTypes