From 73768b94ea99553f5df697f62fc76b864effefdf Mon Sep 17 00:00:00 2001 From: Evan Harris Date: Mon, 24 Jun 2019 23:58:36 -0500 Subject: [PATCH] Handle Lyrics fetch HttpResponseException Also marked 503 error as retryable and added log message for socket error --- .../main/java/org/airsonic/player/ajax/LyricsService.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/airsonic-main/src/main/java/org/airsonic/player/ajax/LyricsService.java b/airsonic-main/src/main/java/org/airsonic/player/ajax/LyricsService.java index 94bfdc05..3b3f1b33 100644 --- a/airsonic-main/src/main/java/org/airsonic/player/ajax/LyricsService.java +++ b/airsonic-main/src/main/java/org/airsonic/player/ajax/LyricsService.java @@ -21,6 +21,7 @@ package org.airsonic.player.ajax; import org.airsonic.player.util.StringUtil; import org.apache.commons.lang.StringUtils; +import org.apache.http.client.HttpResponseException; import org.apache.http.client.ResponseHandler; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.HttpGet; @@ -73,7 +74,13 @@ public class LyricsService { String xml = executeGetRequest(url); lyrics = parseSearchResult(xml); + } catch (HttpResponseException x) { + LOG.warn("Failed to get lyrics for song '{}'. Request failed: {}", song, x.toString()); + if (x.getStatusCode() == 503) { + lyrics.setTryLater(true); + } } catch (SocketException x) { + LOG.warn("Failed to get lyrics for song '{}': {}", song, x.toString()); lyrics.setTryLater(true); } catch (Exception x) { LOG.warn("Failed to get lyrics for song '" + song + "'.", x);