{-# LANGUAGE DataKinds #-} {-# LANGUAGE DeriveAnyClass #-} {-# LANGUAGE DeriveGeneric #-} {-# LANGUAGE DerivingStrategies #-} {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE KindSignatures #-} {-# LANGUAGE LambdaCase #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE StandaloneDeriving #-} {-# LANGUAGE StandaloneKindSignatures #-} {-# LANGUAGE TypeApplications #-} {-# LANGUAGE TypeFamilies #-} -- | module Main where import qualified Data.Aeson as A import qualified Data.ByteString.Lazy as LB import Data.Default.Class (def) import Data.Maybe (fromJust, fromMaybe) import Data.Time.Calendar.MonthDay (monthAndDayToDayOfYearValid) import qualified Data.Time.Calendar.OrdinalDate as Day import Network.Wai.Handler.Warp (run) import Network.Wai.Middleware.RequestLogger (OutputFormat (..), RequestLoggerSettings (..), mkRequestLogger) 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)