From c4c5099c0d10d29dcc6234f807a6b6b3656fe6aa Mon Sep 17 00:00:00 2001 From: 0xb00bface <0xboobface@gmail.com> Date: Sat, 9 Jan 2021 14:49:02 +0100 Subject: [PATCH] Add HTTP header factory to Cam4Model --- .../java/ctbrec/sites/cam4/Cam4Model.java | 53 ++++++++++++------- 1 file changed, 34 insertions(+), 19 deletions(-) diff --git a/common/src/main/java/ctbrec/sites/cam4/Cam4Model.java b/common/src/main/java/ctbrec/sites/cam4/Cam4Model.java index 20c0b8f2..5fcaebed 100644 --- a/common/src/main/java/ctbrec/sites/cam4/Cam4Model.java +++ b/common/src/main/java/ctbrec/sites/cam4/Cam4Model.java @@ -1,10 +1,40 @@ package ctbrec.sites.cam4; -import com.iheartradio.m3u8.*; +import static ctbrec.Model.State.*; +import static ctbrec.io.HttpClient.*; +import static ctbrec.io.HttpConstants.*; +import static java.util.regex.Pattern.*; + +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Objects; +import java.util.Optional; +import java.util.concurrent.ExecutionException; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.json.JSONObject; +import org.jsoup.nodes.Element; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import com.iheartradio.m3u8.Encoding; +import com.iheartradio.m3u8.Format; +import com.iheartradio.m3u8.ParseException; +import com.iheartradio.m3u8.ParsingMode; +import com.iheartradio.m3u8.PlaylistException; +import com.iheartradio.m3u8.PlaylistParser; import com.iheartradio.m3u8.data.MasterPlaylist; import com.iheartradio.m3u8.data.Playlist; import com.iheartradio.m3u8.data.PlaylistData; import com.iheartradio.m3u8.data.StreamInfo; + import ctbrec.AbstractModel; import ctbrec.Config; import ctbrec.StringUtil; @@ -17,23 +47,6 @@ import okhttp3.FormBody; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; -import org.json.JSONObject; -import org.jsoup.nodes.Element; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.io.IOException; -import java.io.InputStream; -import java.util.*; -import java.util.concurrent.ExecutionException; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import static ctbrec.Model.State.*; -import static ctbrec.io.HttpClient.bodyToJsonObject; -import static ctbrec.io.HttpConstants.*; -import static java.util.regex.Pattern.DOTALL; -import static java.util.regex.Pattern.MULTILINE; public class Cam4Model extends AbstractModel { @@ -191,7 +204,9 @@ public class Cam4Model extends AbstractModel { private MasterPlaylist getMasterPlaylist() throws IOException, ParseException, PlaylistException { String masterPlaylistUrl = getPlaylistUrl(); LOG.trace("Loading master playlist [{}]", masterPlaylistUrl); - Request req = new Request.Builder().url(masterPlaylistUrl).build(); + Request.Builder builder = new Request.Builder().url(masterPlaylistUrl); + getHttpHeaderFactory().createMasterPlaylistHeaders().forEach(builder::header); + Request req = builder.build(); try (Response response = site.getHttpClient().execute(req)) { if (response.isSuccessful()) {