-- | Handler for text files getDownloadR :: String -> Handler () getDownloadR file = sendFile "text" $ "static/download/" <> file -- | Handler for static css files getCssR :: String -> Handler () getCssR sheet = sequence_[ setCache , sendFile "text/css" ("static/css/" <> sheet) ]getJsR :: String -> Handler () getJsR scr = sequence_[ setCache , sendFile "application/javascript" ("static/js/" <> scr) ]getMadJsR :: String -> Handler () getMadJsR scr = sequence_[ setCache , sendFile "application/javascript" ("static/js/madlang/" <> scr) ]setCache :: Handler () setCache = sequence_[ setEtag $(timestampQ) , varyEncoding , cacheSeconds (7*24*3600) ]varyEncoding :: Handler () varyEncoding = addHeader "vary" "Accept-Encoding" getMadlangR :: Handler Html getMadlangR = dobody <- widgetToPageContent $(whamletFile "web-src/hamlet/madlang.hamlet") withUrlRenderer[hamlet| Madlang sandbox