name: welshy version: 0.1.0.0 x-revision: 1 synopsis: Haskell web framework (because Scotty had trouble yodeling) description: A Haskell web framework heavily influenced by the excellent Scotty, which was in turn influenced by Ruby's Sinatra. . Welshy strives to make it easier to do error handling without overly complicating the control flow. An example: . @{-# LANGUAGE OverloadedStrings #-}@ . > import Control.Applicative > import Control.Monad > import qualified Data.Text.Lazy as T > import Network.HTTP.Types > import Web.Welshy > > fibs :: [Int] > fibs = 0 : 1 : zipWith (+) fibs (tail fibs) > > main :: IO () > main = welshy 3000 $ do > get "/fibs" $ do > offset <- queryParam "offset" <|> return 0 > length <- queryParam "length" > > when (offset < 0 || length < 0) > (halt $ status badRequest400) > > when (offset + length > 1000) > (halt $ status requestedRangeNotSatisfiable416) > > let result = take length $ drop offset fibs > text $ T.pack $ show result . Some of the features demonstrated here: . * You can 'halt' the current action at any point and continue with a different one. . * Functions like 'queryParam' and 'jsonParam' have built-in error handling. . * Welshy's 'Action' monad is an instance of 'Alternative'. license: MIT license-file: LICENSE author: Michael Schröder maintainer: mcschroeder@gmail.com homepage: https://github.com/mcschroeder/welshy bug-reports: https://github.com/mcschroeder/welshy/issues copyright: (c) 2013 Michael Schröder category: Web build-type: Simple cabal-version: >=1.8 extra-source-files: example.hs library exposed-modules: Web.Welshy other-modules: Web.Welshy.Action, Web.Welshy.FromText, Web.Welshy.Request, Web.Welshy.Response build-depends: base >=4.6 && <4.8 , aeson ==0.6.* , blaze-builder ==0.3.* , bytestring ==0.10.* , conduit ==1.0.* , http-types ==0.8.* , lifted-base ==0.2.* , resourcet ==0.4.* , text ==0.11.* , transformers ==0.3.* , unordered-containers ==0.2.* , wai ==1.4.* , warp ==1.3.* extensions: GeneralizedNewtypeDeriving -- LambdaCase OverloadedStrings RecordWildCards source-repository head type: git location: https://github.com/mcschroeder/welshy.git