From c774a29421fbe4ee4fe4187873c4acd305219c92 Mon Sep 17 00:00:00 2001 From: 0xboobface <0xboobface@gmail.com> Date: Thu, 26 Dec 2019 12:52:14 +0100 Subject: [PATCH] Improve error handling for loading the master playlist for Cam4Models --- .../java/ctbrec/sites/cam4/Cam4Model.java | 20 ++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/common/src/main/java/ctbrec/sites/cam4/Cam4Model.java b/common/src/main/java/ctbrec/sites/cam4/Cam4Model.java index 580b287d..299ea1df 100644 --- a/common/src/main/java/ctbrec/sites/cam4/Cam4Model.java +++ b/common/src/main/java/ctbrec/sites/cam4/Cam4Model.java @@ -157,15 +157,17 @@ public class Cam4Model extends AbstractModel { private MasterPlaylist getMasterPlaylist() throws IOException, ParseException, PlaylistException { LOG.trace("Loading master playlist {}", getPlaylistUrl()); Request req = new Request.Builder().url(getPlaylistUrl()).build(); - Response response = site.getHttpClient().execute(req); - try { - InputStream inputStream = response.body().byteStream(); - PlaylistParser parser = new PlaylistParser(inputStream, Format.EXT_M3U, Encoding.UTF_8, ParsingMode.LENIENT); - Playlist playlist = parser.parse(); - MasterPlaylist master = playlist.getMasterPlaylist(); - return master; - } finally { - response.close(); + + try (Response response = site.getHttpClient().execute(req)) { + if (response.isSuccessful()) { + InputStream inputStream = response.body().byteStream(); + PlaylistParser parser = new PlaylistParser(inputStream, Format.EXT_M3U, Encoding.UTF_8, ParsingMode.LENIENT); + Playlist playlist = parser.parse(); + MasterPlaylist master = playlist.getMasterPlaylist(); + return master; + } else { + throw new HttpException(response.code(), "Couldn't download HLS playlist"); + } } }