waitra-0.0.4.0: examples/Example.hs
{-# LANGUAGE TemplateHaskell #-}
module Main where
import Control.Applicative
import Data.String
import Network.Wai
import Network.Wai.Application.Static
import Network.Wai.Handler.Warp
import Network.Waitra
import Network.Waitra.Embedded
import System.Environment (lookupEnv)
echoRoute :: Route
echoRoute = routeGet (echoApp <$ string "/api/echo/" <*> many anySym)
where echoApp msg _req respond = respond $ responseLBS status200 [] (fromString msg)
app :: Application
app = waitraMiddleware [echoRoute] $ staticApp $ embeddedSettings $(mkRecursiveEmbedded "static")
main :: IO ()
main = do
port <- maybe 8000 read <$> lookupEnv "PORT"
run port app