purr/src/Core/HTTP.hs

34 lines
1.0 KiB
Haskell

module Core.HTTP ( app ) where
import Core.Configuration (adminEmail, confLinkLength)
import Core.Types
import Core.Templates (renderIndex, renderStyle)
import Feature.Generation.HTTP as Generation
import Feature.Sharing.HTTP as Sharing
import Control.Monad.Trans (liftIO)
import Data.Maybe (Maybe (Nothing))
import Network.Wai.Middleware.RequestLogger (logStdoutDev)
import Network.Wai.Middleware.Static
import Web.Scotty
app :: PurrApp ()
app = do
-- Middleware definition
middleware logStdoutDev
middleware $ staticPolicy (noDots >-> addBase "data/assets/public")
-- Core Routes
get "/" $ do
email <- liftIO adminEmail
html $ renderIndex "/" email
get "/style.css" $ do
setHeader "Content-Type" "text/css"
text renderStyle
-- Feature Routes
Sharing.routes
Generation.routes