{-# LANGUAGE OverloadedStrings #-} import Web.Scotty import Network.Wai.Middleware.RequestLogger import Control.Monad.Trans import Data.Monoid import System.Random (newStdGen, randomRs) import Network.HTTP.Types (status302) main :: IO () main = scotty 3000 $ do -- Add any WAI middleware, they are run top-down. middleware logStdoutDev -- To demonstrate that routes are matched top-down. get "/" $ text "foobar" get "/" $ text "barfoo" -- Using a parameter in the query string. If it has -- not been given, a 500 page is generated. get "/foo" $ do v <- param "fooparam" html $ mconcat ["