diff options
Diffstat (limited to '')
| -rw-r--r-- | cwality-maps/Main.hs | 16 | 
1 files changed, 11 insertions, 5 deletions
| diff --git a/cwality-maps/Main.hs b/cwality-maps/Main.hs index f242b94..39723f4 100644 --- a/cwality-maps/Main.hs +++ b/cwality-maps/Main.hs @@ -44,6 +44,9 @@ import           Servant.Server.StaticFiles           (serveDirectoryWebApp)  import           Substitute                           (Substitutable (substitute),                                                         SubstitutionError) +import           Control.Monad.Logger + +  -- | a map's filename ending in .json  -- (a newtype to differentiate between maps and assets in a route)  newtype JsonFilename = JsonFilename Text @@ -87,14 +90,15 @@ mkMap :: Config True -> Tiledmap -> MapParams -> ([SubstitutionError], Tiledmap)  mkMap _config basemap params =    substitute basemap (substs params) -  mapHandler :: Config True -> JsonFilename -> MapParams -> Handler Tiledmap  mapHandler config (JsonFilename mapname) params =    case M.lookup mapname (snd $ view template config) of -    Just basemap -> do -      let (errors, map) = mkMap config basemap params -      print errors -      pure map +    Just basemap -> runStdoutLoggingT $ +      logWarnN (pretty errors) >> pure tiledmap +      where (errors, tiledmap) = mkMap config basemap params +            pretty errors = T.concat +              . intersperse "\n  " +              $ concatMap (lines . show) errors      Nothing      -> throwError err404  -- | Complete set of routes: API + HTML sites @@ -106,6 +110,8 @@ server config = mapHandler config  app :: Config True -> Application  app = serve (Proxy @Routes) . server + +  main :: IO ()  main = do    config <- loadConfig "./cwality-config.toml" | 
