Support for Lucid HTML, add static file middleware
This commit is contained in:
18
src/Main.hs
18
src/Main.hs
@@ -6,24 +6,25 @@ import Handlers
|
||||
import Logger
|
||||
import Routes
|
||||
|
||||
import Control.Monad.Except (ExceptT (ExceptT))
|
||||
import Control.Monad.Except (ExceptT (ExceptT))
|
||||
import Data.List
|
||||
import Effectful
|
||||
import Effectful.Error.Static (Error, runErrorNoCallStack, throwError)
|
||||
import Effectful.Error.Static (Error, runErrorNoCallStack, throwError)
|
||||
import Effectful.Reader.Static
|
||||
import Network.Wai.Handler.Warp (run)
|
||||
import Servant hiding ((:>), throwError)
|
||||
import qualified Servant as S
|
||||
import Network.Wai.Handler.Warp (run)
|
||||
import Network.Wai.Middleware.Static ((>->), staticPolicy, noDots, addBase)
|
||||
import Servant hiding ((:>), throwError)
|
||||
import qualified Servant as S
|
||||
|
||||
--
|
||||
-- Application
|
||||
--
|
||||
main :: IO ()
|
||||
main = do
|
||||
pool <- createConnectionPool
|
||||
pool <- createConnectionPool "host=localhost dbname=demo"
|
||||
let env = AppEnv { pool = pool }
|
||||
runAppEff env $ databaseInit
|
||||
run port . serve proxy $ app env
|
||||
run port . middleware . serve proxy $ app env
|
||||
|
||||
app :: AppEnv -> Server AppAPI
|
||||
app env = hoistServer proxy (Handler . ExceptT . runAppEff env) handlers
|
||||
@@ -35,6 +36,9 @@ handlers = rootHandler
|
||||
:<|> userPostHandler
|
||||
:<|> userDeleteHandler
|
||||
|
||||
middleware :: Application -> Application
|
||||
middleware = staticPolicy (noDots >-> addBase "data/assets/public")
|
||||
|
||||
runAppEff :: AppEnv -> AppEff a -> IO (Either ServerError a)
|
||||
runAppEff env = runEff
|
||||
. runErrorNoCallStack
|
||||
|
||||
Reference in New Issue
Block a user