aboutsummaryrefslogtreecommitdiff
path: root/app/Main.hs
blob: de77adc94ff8623813b36a39d946b649af1c6881 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{-# 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 @Deep "./gtfs.zip"
  app <- application gtfs
  loggerMiddleware <- mkRequestLogger
    $ def { outputFormat = Detailed True }
  putStrLn "starting server …"
  run 4000 (loggerMiddleware app)