MobilityData / gtfs-realtime-validator

Java-based tool that validates General Transit Feed Specification (GTFS)-realtime feeds
Other
41 stars 10 forks source link

Support non-HTTP protocols for GTFS-realtime feeds #58

Open isabelle-dr opened 2 years ago

isabelle-dr commented 2 years ago

Issue by barbeau Dec 7, 2017 Originally opened as https://github.com/CUTR-at-USF/gtfs-realtime-validator/issues/317


Summary:

While most existing GTFS-realtime feeds using Protocol Buffers over HTTP to communicate, strictly-speaking feeds could be implemented using other transport methods.

An example of an alternate transport method is a MQTT-based exchange, as discussed here in a pull request for the OpenTripPlanner project: opentripplanner/OpenTripPlanner#2516

I'd like to abstract our feed ingestion code a bit to allow for non-HTTP transport as well. An example of MQTT-consumer code is in the above OTP pull request.

Related to #57, which is specifically for the file:/// resource.

EDIT - Based on this comment I changed the above and below to clarify that MQTT as used in above link is just the transport method (pub/sub), not the message encoding (which is still protocol buffer).

Alternate message encodings (e.g., JSON) could be supported as well.

Steps to reproduce:

Try to consume a non-HTTP GTFS-realtime feed

Expected behavior:

Consume and validate the feed if the non-HTTP method is supported.

Observed behavior:

Consuming any feeds not served over HTTP feeds fails

Platform:

N/A