Description
GTFS RealTime protobafs library (autogenerated from .proto file)
Description
Please see the README on GitHub at https://github.com/CthulhuDen/gtfs-realtime#readme or https://hackage.haskell.org/package/gtfs-realtime
README.md
GTFS RealTime
Haskell protobuf definitions for GTFS RealTime feed data. Autogenerated by and supposed to be used with protocol-buffers.
Usage example
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE ScopedTypeVariables #-}
module Main where
import qualified Data.ByteString.Lazy as LBS
import Data.Function
import GTFS.RealTime.Protobuf.FeedMessage
import Network.HTTP.Simple (Request, setRequestQueryString, httpLBS, getResponseBody)
import qualified Text.ProtocolBuffers as Protobuf
main :: IO ()
main = do
resp <- httpLBS $ "http://transport.orgp.spb.ru/Portal/transport/internalapi/gtfs/realtime/vehicle"
& setRequestQueryString [("routeIDs", Just "1843")]
msg <- case Protobuf.messageGet $ getResponseBody resp of
Left err -> fail err
Right (msg :: FeedMessage, "") -> pure msg
_ -> fail "parse incomplete"
-- | You now have FeedMessage parsed
print msg
Source proto file
This transport.proto file was used to generate the modules, it is the same as provided here, only with modified package name.