{-# LANGUAGE DataKinds #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE KindSignatures #-} {-# LANGUAGE StandaloneKindSignatures #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE DerivingStrategies #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} -- | module Main where import Data.Maybe (fromMaybe, fromJust) import Data.Time.Calendar.MonthDay (monthAndDayToDayOfYearValid) import qualified Data.Time.Calendar.OrdinalDate as Day import qualified Data.ByteString.Lazy as LB import qualified Data.Aeson as A import Network.Wai.Middleware.RequestLogger (OutputFormat (..), RequestLoggerSettings (..), mkRequestLogger) import Network.Wai.Handler.Warp (run) import Data.Default.Class (def) import GTFS import Server main :: IO () main = do gtfs <- loadGtfs "./gtfs.zip" app <- application gtfs loggerMiddleware <- mkRequestLogger $ def { outputFormat = Detailed True } putStrLn "starting server …" run 4000 (loggerMiddleware app)