packages feed

wai-routes-0.6.0: wai-routes.cabal

name          : wai-routes
version       : 0.6.0
cabal-version : >=1.18
build-type    : Simple
license       : MIT
license-file  : LICENSE
maintainer    : ajnsit@gmail.com
stability     : Experimental
homepage      : https://github.com/ajnsit/wai-routes
synopsis      : Typesafe URLs for Wai applications.
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
             &#32;&#32;db <- liftIO &#36; newIORef mydb
             &#32;&#32;route (MyRoute db)
             &#32;&#32;setDefaultAction $ staticApp $ defaultFileServerSettings &#34;static&#34;
             .
             &#45;&#45; Run the application
             main &#58;&#58; IO ()
             main = toWaiApp myApp >>= run 8080
             @
category           : Network
author             : Anupam Jain
data-dir           : ""
extra-source-files : README.md examples/Example.hs

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.6
    tag      : v0.6

library
    build-depends: base             >= 4.7  && < 4.9
                 , wai              >= 3.0  && < 3.1
                 , text             >= 1.2  && < 1.3
                 , template-haskell >= 2.9  && < 2.11
                 , mtl              >= 2.1  && < 2.3
                 , aeson            >= 0.8  && < 0.9
                 , containers       >= 0.5  && < 0.6
                 , random           >= 1.1  && < 1.2
                 , path-pieces      >= 0.2  && < 0.3
                 , bytestring       >= 0.10 && < 0.11
                 , http-types       >= 0.8  && < 0.9
                 , blaze-builder    >= 0.4  && < 0.5
    exposed-modules: Network.Wai.Middleware.Routes
                     Network.Wai.Middleware.Routes.Parse
                     Network.Wai.Middleware.Routes.Overlap
                     Network.Wai.Middleware.Routes.Class
                     Network.Wai.Middleware.Routes.Routes
                     Network.Wai.Middleware.Routes.Monad
                     Network.Wai.Middleware.Routes.Handler
                     Network.Wai.Middleware.Routes.ContentTypes
                     Network.Wai.Middleware.Routes.TH.Types
                     Network.Wai.Middleware.Routes.TH.Dispatch
                     Network.Wai.Middleware.Routes.TH.ParseRoute
                     Network.Wai.Middleware.Routes.TH.RenderRoute
                     Network.Wai.Middleware.Routes.TH.RouteAttrs
    exposed        : True
    buildable      : True
    hs-source-dirs : src
    default-language   : Haskell2010