From eec9ebe3add5e107729e5000591844a0e1ee9aa2 Mon Sep 17 00:00:00 2001 From: Birte Kristina Friesel Date: Sat, 11 Jan 2025 08:46:32 +0100 Subject: Add backend selection link to Bad Gateway / Gateway Timeout error messages --- lib/Travelynx/Controller/Traveling.pm | 14 +++++++++----- templates/bad_gateway.html.ep | 7 ++++++- templates/gateway_timeout.html.ep | 7 ++++++- 3 files changed, 21 insertions(+), 7 deletions(-) diff --git a/lib/Travelynx/Controller/Traveling.pm b/lib/Travelynx/Controller/Traveling.pm index 54eb12b..a0ae43b 100755 --- a/lib/Travelynx/Controller/Traveling.pm +++ b/lib/Travelynx/Controller/Traveling.pm @@ -1131,18 +1131,22 @@ sub station { } )->wait; } - elsif ( $err =~ m{svcRes|connection close|Service Temporarily Unavailable} ) { + elsif ( $err + =~ m{svcRes|connection close|Service Temporarily Unavailable} ) + { $self->render( 'bad_gateway', - message => $err, - status => 502 + message => $err, + status => 502, + select_new_backend => 1, ); } elsif ( $err =~ m{timeout}i ) { $self->render( 'gateway_timeout', - message => $err, - status => 504 + message => $err, + status => 504, + select_new_backend => 1, ); } else { diff --git a/templates/bad_gateway.html.ep b/templates/bad_gateway.html.ep index ca69188..07bf29e 100644 --- a/templates/bad_gateway.html.ep +++ b/templates/bad_gateway.html.ep @@ -6,7 +6,12 @@

Das von travelynx genutzte Backend hat einen Fehler zurückgegeben. travelynx hat keine Möglichkeiten, diese Situation zu beheben. - Versuche es in ein paar Sekunden bis Minuten noch einmal. + % if (stash('select_new_backend')) { + Versuche es in ein paar Sekunden bis Minuten noch einmal oder wähle ein anderes Backend. + % } + % else { + Versuche es in ein paar Sekunden bis Minuten noch einmal. + % }

diff --git a/templates/gateway_timeout.html.ep b/templates/gateway_timeout.html.ep index 86e844d..9cf8690 100644 --- a/templates/gateway_timeout.html.ep +++ b/templates/gateway_timeout.html.ep @@ -6,7 +6,12 @@

Das von travelynx genutzte Backend hat nicht rechtzeitig reagiert. travelynx hat keine Möglichkeiten, diese Situation zu beheben. - Vrsuche es in ein paar Sekunden bis Minuten noch einmal. + % if (stash('select_new_backend')) { + Versuche es in ein paar Sekunden bis Minuten noch einmal oder wähle ein anderes Backend. + % } + % else { + Versuche es in ein paar Sekunden bis Minuten noch einmal. + % }

-- cgit v1.2.3