22 lines
701 B
Haskell
22 lines
701 B
Haskell
|
{-# LANGUAGE OverloadedStrings #-}
|
||
|
{-# LANGUAGE TemplateHaskell #-}
|
||
|
module Settings.StaticR ( staticR ) where
|
||
|
|
||
|
import Foundation ( App, Route(StaticR) )
|
||
|
import Settings ( appStaticDir, compileTimeAppSettings )
|
||
|
import Yesod.Static ( Route(StaticRoute) )
|
||
|
|
||
|
import Settings.StaticR.TH ( mkHashMap )
|
||
|
|
||
|
import qualified Data.Map as M
|
||
|
import qualified Data.Text as T
|
||
|
|
||
|
staticR :: [T.Text] -> Route App
|
||
|
staticR pieces = StaticR $ StaticRoute pieces params
|
||
|
where params = case pieces `M.lookup` staticMap of
|
||
|
Just etag -> [("etag", etag)]
|
||
|
Nothing -> []
|
||
|
|
||
|
staticMap :: M.Map [T.Text] T.Text
|
||
|
staticMap = M.fromList $(mkHashMap . appStaticDir $ compileTimeAppSettings)
|