forked from j62/ctbrec
1
0
Fork 0

Throw HttpException in getStreamSources if request failed

This commit is contained in:
0xboobface 2018-11-14 16:20:07 +01:00
parent 9bf8a4f2d4
commit 71d293b778
1 changed files with 23 additions and 22 deletions

View File

@ -23,6 +23,7 @@ import com.iheartradio.m3u8.data.StreamInfo;
import ctbrec.AbstractModel; import ctbrec.AbstractModel;
import ctbrec.Config; import ctbrec.Config;
import ctbrec.io.HttpException;
import ctbrec.recorder.download.StreamSource; import ctbrec.recorder.download.StreamSource;
import ctbrec.sites.Site; import ctbrec.sites.Site;
import okhttp3.FormBody; import okhttp3.FormBody;
@ -99,14 +100,13 @@ public class BongaCamsModel extends AbstractModel {
return Collections.emptyList(); return Collections.emptyList();
} }
Request req = new Request.Builder().url(streamUrl).build(); Request req = new Request.Builder().url(streamUrl).build();
Response response = site.getHttpClient().execute(req); try(Response response = site.getHttpClient().execute(req)) {
try { if(response.isSuccessful()) {
InputStream inputStream = response.body().byteStream(); InputStream inputStream = response.body().byteStream();
PlaylistParser parser = new PlaylistParser(inputStream, Format.EXT_M3U, Encoding.UTF_8); PlaylistParser parser = new PlaylistParser(inputStream, Format.EXT_M3U, Encoding.UTF_8);
Playlist playlist = parser.parse(); Playlist playlist = parser.parse();
MasterPlaylist master = playlist.getMasterPlaylist(); MasterPlaylist master = playlist.getMasterPlaylist();
for (PlaylistData playlistData : master.getPlaylists()) { for (PlaylistData playlistData : master.getPlaylists()) {
StreamSource streamsource = new StreamSource(); StreamSource streamsource = new StreamSource();
streamsource.mediaPlaylistUrl = streamUrl.replace("playlist.m3u8", playlistData.getUri()); streamsource.mediaPlaylistUrl = streamUrl.replace("playlist.m3u8", playlistData.getUri());
if (playlistData.hasStreamInfo()) { if (playlistData.hasStreamInfo()) {
@ -121,8 +121,9 @@ public class BongaCamsModel extends AbstractModel {
} }
streamSources.add(streamsource); streamSources.add(streamsource);
} }
} finally { } else {
response.close(); throw new HttpException(response.code(), response.message());
}
} }
return streamSources; return streamSources;
} }