summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2019-02-24 10:29:58 +0100
committerDaniel Friesel <derf@finalrewind.org>2019-02-24 10:29:58 +0100
commit4cca413880a17d9d31f5ed5c27a29286274ba290 (patch)
tree3dfc5a7f43906e6d079636da729334fc02ca8352
parentcad349a58334474066c8bcf30e1dddd2d2964ac7 (diff)
add support for /station.json
-rw-r--r--index.pl3
-rw-r--r--templates/layouts/default.html.ep6
2 files changed, 8 insertions, 1 deletions
diff --git a/index.pl b/index.pl
index 3e6332f..6df49ea 100644
--- a/index.pl
+++ b/index.pl
@@ -397,6 +397,9 @@ sub handle_request {
$self->param( station => $station );
$self->stash( layout => 'text' );
}
+ elsif ( defined $station and $station =~ s{ [.] json $ }{}x ) {
+ $template = 'json';
+ }
# Historically, there were two JSON APIs: 'json' (undocumented, raw
# passthrough of serialized Travel::Status::DE::IRIS::Result /
diff --git a/templates/layouts/default.html.ep b/templates/layouts/default.html.ep
index ee39577..7649be5 100644
--- a/templates/layouts/default.html.ep
+++ b/templates/layouts/default.html.ep
@@ -203,9 +203,13 @@ Bitte eine Station aus der Liste auswählen</div>
hinzufügen, das ist bald aber nicht mehr nötig). Für eine große Ansicht
(z.B. als alleinstehender Infoscreen) gibt es das "Infoscreen"-Frontend.</li>
<li>Die Parameter <span style="font-family: monospace;">mode=json&amp;version=3</span>
+ (alternativ auch <span style="font-family:
+ monospace;">https://dbf.finalrewind.org/Bahnhofsname.json?version=3</span>)
bieten ein JSON-IRIS-Interface. Die route-Elemente können zusätzlich
die Felder "isAdditional" oder "isCancelled" enthalten, der Rest sollte
- selbsterklärend sein. Bitte nur eine Anfrage pro Station und Minute
+ selbsterklärend sein. Im Fehlerfall fehlt das "departures"-Element,
+ stattdessen wird ein "error"-Element mit Fehlermeldung zurückgegeben.
+ Bitte nur eine Anfrage pro Station und Minute
– eine höhere Auflösung haben die Backenddaten ohnehin nicht.</li>
<li>Mit <span style="font-family: monospace;">limit</span> kann die Anzahl der
angezeigten / im JSON enthaltenen Abfahrten eingeschränkt werden, z.B.