34 lines
1.0 KiB
Haskell
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
|