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