From e30a658f3dc2e1a74777be139ea356afcee2a6f1 Mon Sep 17 00:00:00 2001 From: 0xb00bface <0xboobface@gmail.com> Date: Fri, 24 Dec 2021 16:18:22 +0100 Subject: [PATCH] Add class for common error messages --- client/src/main/java/ctbrec/ui/news/NewsTab.java | 3 ++- .../ctbrec/ui/sites/camsoda/CamsodaUpdateService.java | 3 ++- .../sites/secretfriends/SecretFriendsUpdateService.java | 3 ++- .../ui/sites/streamate/StreamateFollowedService.java | 3 ++- .../ctbrec/ui/sites/streamate/StreamateUpdateService.java | 3 ++- common/src/main/java/ctbrec/ErrorMessages.java | 8 ++++++++ .../ctbrec/recorder/download/hls/SegmentDownload.java | 3 ++- .../main/java/ctbrec/sites/cherrytv/CherryTvModel.java | 3 ++- .../java/ctbrec/sites/secretfriends/SecretFriends.java | 3 ++- .../ctbrec/sites/secretfriends/SecretFriendsModel.java | 7 ++++--- .../java/ctbrec/sites/streamate/StreamateHttpClient.java | 8 ++++---- .../main/java/ctbrec/sites/streamate/StreamateModel.java | 6 +++--- 12 files changed, 35 insertions(+), 18 deletions(-) create mode 100644 common/src/main/java/ctbrec/ErrorMessages.java diff --git a/client/src/main/java/ctbrec/ui/news/NewsTab.java b/client/src/main/java/ctbrec/ui/news/NewsTab.java index e615ebc0..ad97b830 100644 --- a/client/src/main/java/ctbrec/ui/news/NewsTab.java +++ b/client/src/main/java/ctbrec/ui/news/NewsTab.java @@ -1,5 +1,6 @@ package ctbrec.ui.news; +import static ctbrec.ErrorMessages.HTTP_RESPONSE_BODY_IS_NULL; import static ctbrec.io.HttpConstants.*; import java.io.IOException; @@ -52,7 +53,7 @@ public class NewsTab extends Tab implements TabSelectionListener { .build(); try (var response = CamrecApplication.httpClient.execute(request)) { if (response.isSuccessful()) { - var body = Objects.requireNonNull(response.body(), "HTTP response body is null").string(); + var body = Objects.requireNonNull(response.body(), HTTP_RESPONSE_BODY_IS_NULL).string(); if (body.startsWith("[")) { onSuccess(body); } else if (body.startsWith("{")) { diff --git a/client/src/main/java/ctbrec/ui/sites/camsoda/CamsodaUpdateService.java b/client/src/main/java/ctbrec/ui/sites/camsoda/CamsodaUpdateService.java index edbdfa6c..f81b462f 100644 --- a/client/src/main/java/ctbrec/ui/sites/camsoda/CamsodaUpdateService.java +++ b/client/src/main/java/ctbrec/ui/sites/camsoda/CamsodaUpdateService.java @@ -19,6 +19,7 @@ import java.util.*; import java.util.function.Predicate; import java.util.stream.Collectors; +import static ctbrec.ErrorMessages.HTTP_RESPONSE_BODY_IS_NULL; import static ctbrec.Model.State.OFFLINE; import static ctbrec.Model.State.ONLINE; @@ -66,7 +67,7 @@ public class CamsodaUpdateService extends PaginatedScheduledService { var request = new Request.Builder().url(url).build(); try (var response = camsoda.getHttpClient().execute(request)) { if (response.isSuccessful()) { - return parseModels(Objects.requireNonNull(response.body(), "HTTP response body is null").string()); + return parseModels(Objects.requireNonNull(response.body(), HTTP_RESPONSE_BODY_IS_NULL).string()); } else { throw new HttpException(response.code(), response.message()); } diff --git a/client/src/main/java/ctbrec/ui/sites/secretfriends/SecretFriendsUpdateService.java b/client/src/main/java/ctbrec/ui/sites/secretfriends/SecretFriendsUpdateService.java index c9095ec9..39c2801d 100644 --- a/client/src/main/java/ctbrec/ui/sites/secretfriends/SecretFriendsUpdateService.java +++ b/client/src/main/java/ctbrec/ui/sites/secretfriends/SecretFriendsUpdateService.java @@ -18,6 +18,7 @@ import org.slf4j.LoggerFactory; import java.io.IOException; import java.util.*; +import static ctbrec.ErrorMessages.HTTP_RESPONSE_BODY_IS_NULL; import static ctbrec.io.HttpConstants.*; public class SecretFriendsUpdateService extends PaginatedScheduledService { @@ -56,7 +57,7 @@ public class SecretFriendsUpdateService extends PaginatedScheduledService { .build(); try (var response = site.getHttpClient().execute(request)) { if (response.isSuccessful()) { - return parseModels(Objects.requireNonNull(response.body(), "HTTP response body is null").string()); + return parseModels(Objects.requireNonNull(response.body(), HTTP_RESPONSE_BODY_IS_NULL).string()); } else { throw new HttpException(response.code(), response.message()); } diff --git a/client/src/main/java/ctbrec/ui/sites/streamate/StreamateFollowedService.java b/client/src/main/java/ctbrec/ui/sites/streamate/StreamateFollowedService.java index eec86094..611a952d 100644 --- a/client/src/main/java/ctbrec/ui/sites/streamate/StreamateFollowedService.java +++ b/client/src/main/java/ctbrec/ui/sites/streamate/StreamateFollowedService.java @@ -16,6 +16,7 @@ import org.slf4j.LoggerFactory; import java.io.IOException; import java.util.*; +import static ctbrec.ErrorMessages.HTTP_RESPONSE_BODY_IS_NULL; import static ctbrec.Model.State.OFFLINE; import static ctbrec.Model.State.ONLINE; import static ctbrec.io.HttpConstants.*; @@ -62,7 +63,7 @@ public class StreamateFollowedService extends PaginatedScheduledService { .build(); try (var response = streamate.getHttpClient().execute(request)) { if (response.isSuccessful()) { - return parseModels(Objects.requireNonNull(response.body(), "HTTP response body is null").string()); + return parseModels(Objects.requireNonNull(response.body(), HTTP_RESPONSE_BODY_IS_NULL).string()); } else { throw new HttpException(response.code(), response.message()); } diff --git a/client/src/main/java/ctbrec/ui/sites/streamate/StreamateUpdateService.java b/client/src/main/java/ctbrec/ui/sites/streamate/StreamateUpdateService.java index ce05a485..4e8cc32e 100644 --- a/client/src/main/java/ctbrec/ui/sites/streamate/StreamateUpdateService.java +++ b/client/src/main/java/ctbrec/ui/sites/streamate/StreamateUpdateService.java @@ -17,6 +17,7 @@ import java.util.List; import java.util.Objects; import java.util.UUID; +import static ctbrec.ErrorMessages.HTTP_RESPONSE_BODY_IS_NULL; import static ctbrec.Model.State.*; import static ctbrec.io.HttpConstants.ORIGIN; @@ -56,7 +57,7 @@ public class StreamateUpdateService extends PaginatedScheduledService { .build(); try (var response = httpClient.execute(request)) { if (response.isSuccessful()) { - return parseModels(Objects.requireNonNull(response.body(), "HTTP response body is null").string()); + return parseModels(Objects.requireNonNull(response.body(), HTTP_RESPONSE_BODY_IS_NULL).string()); } else { throw new HttpException(response.code(), response.message()); } diff --git a/common/src/main/java/ctbrec/ErrorMessages.java b/common/src/main/java/ctbrec/ErrorMessages.java new file mode 100644 index 00000000..12d1a2a5 --- /dev/null +++ b/common/src/main/java/ctbrec/ErrorMessages.java @@ -0,0 +1,8 @@ +package ctbrec; + +public class ErrorMessages { + + private ErrorMessages() {} + + public static final String HTTP_RESPONSE_BODY_IS_NULL = "HTTP response body is null"; +} diff --git a/common/src/main/java/ctbrec/recorder/download/hls/SegmentDownload.java b/common/src/main/java/ctbrec/recorder/download/hls/SegmentDownload.java index bfb04a16..efe8dc77 100644 --- a/common/src/main/java/ctbrec/recorder/download/hls/SegmentDownload.java +++ b/common/src/main/java/ctbrec/recorder/download/hls/SegmentDownload.java @@ -1,5 +1,6 @@ package ctbrec.recorder.download.hls; +import static ctbrec.ErrorMessages.HTTP_RESPONSE_BODY_IS_NULL; import static ctbrec.recorder.download.hls.AbstractHlsDownload.*; import java.io.FileNotFoundException; @@ -77,7 +78,7 @@ public class SegmentDownload implements Callable { private void handleResponse(Response response) throws InvalidKeyException, NoSuchAlgorithmException, NoSuchPaddingException, InvalidAlgorithmParameterException, IOException { if (response.isSuccessful()) { - InputStream in = Objects.requireNonNull(response.body(), "HTTP response body is null").byteStream(); + InputStream in = Objects.requireNonNull(response.body(), HTTP_RESPONSE_BODY_IS_NULL).byteStream(); if (playlist.encrypted) { in = new Crypto(playlist.encryptionKeyUrl, client).wrap(in); } diff --git a/common/src/main/java/ctbrec/sites/cherrytv/CherryTvModel.java b/common/src/main/java/ctbrec/sites/cherrytv/CherryTvModel.java index ddb08ceb..cc2d0d05 100644 --- a/common/src/main/java/ctbrec/sites/cherrytv/CherryTvModel.java +++ b/common/src/main/java/ctbrec/sites/cherrytv/CherryTvModel.java @@ -29,6 +29,7 @@ import java.util.concurrent.ExecutionException; import java.util.regex.Matcher; import java.util.regex.Pattern; +import static ctbrec.ErrorMessages.HTTP_RESPONSE_BODY_IS_NULL; import static ctbrec.Model.State.*; import static ctbrec.io.HttpConstants.*; import static java.nio.charset.StandardCharsets.UTF_8; @@ -216,7 +217,7 @@ public class CherryTvModel extends AbstractModel { LOG.debug("Sending follow request for model {} with ID {}", getName(), getId()); try (Response response = getSite().getHttpClient().execute(request)) { if (response.isSuccessful()) { - String responseBody = Objects.requireNonNull(response.body(), "HTTP response body is null").string(); + String responseBody = Objects.requireNonNull(response.body(), HTTP_RESPONSE_BODY_IS_NULL).string(); LOG.debug(responseBody); JSONObject resp = new JSONObject(responseBody); if (resp.has("data") && !resp.isNull("data")) { diff --git a/common/src/main/java/ctbrec/sites/secretfriends/SecretFriends.java b/common/src/main/java/ctbrec/sites/secretfriends/SecretFriends.java index fc7af2a7..ec5a327c 100644 --- a/common/src/main/java/ctbrec/sites/secretfriends/SecretFriends.java +++ b/common/src/main/java/ctbrec/sites/secretfriends/SecretFriends.java @@ -20,6 +20,7 @@ import java.util.Objects; import java.util.regex.Matcher; import java.util.regex.Pattern; +import static ctbrec.ErrorMessages.HTTP_RESPONSE_BODY_IS_NULL; import static ctbrec.io.HttpConstants.USER_AGENT; public class SecretFriends extends AbstractSite { @@ -111,7 +112,7 @@ public class SecretFriends extends AbstractSite { .build(); try (Response response = getHttpClient().execute(req)) { if (response.isSuccessful()) { - String body = Objects.requireNonNull(response.body(), "HTTP response body is null").string(); + String body = Objects.requireNonNull(response.body(), HTTP_RESPONSE_BODY_IS_NULL).string(); List models = new ArrayList<>(); Elements modelDivs = HtmlParser.getTags(body, "div[class~=model-wrapper]"); LOG.debug("Found {} models", modelDivs.size()); diff --git a/common/src/main/java/ctbrec/sites/secretfriends/SecretFriendsModel.java b/common/src/main/java/ctbrec/sites/secretfriends/SecretFriendsModel.java index d743e9a6..030eff36 100644 --- a/common/src/main/java/ctbrec/sites/secretfriends/SecretFriendsModel.java +++ b/common/src/main/java/ctbrec/sites/secretfriends/SecretFriendsModel.java @@ -22,6 +22,7 @@ import java.util.concurrent.ExecutionException; import java.util.regex.Matcher; import java.util.regex.Pattern; +import static ctbrec.ErrorMessages.HTTP_RESPONSE_BODY_IS_NULL; import static ctbrec.Model.State.ONLINE; import static ctbrec.io.HttpConstants.*; @@ -46,7 +47,7 @@ public class SecretFriendsModel extends AbstractModel { .build(); try (Response response = site.getHttpClient().execute(req)) { if (response.isSuccessful()) { - String body = Objects.requireNonNull(response.body(), "HTTP response body is null").string(); + String body = Objects.requireNonNull(response.body(), HTTP_RESPONSE_BODY_IS_NULL).string(); Element wrapper = HtmlParser.getTag(body, "div[class~=model-wrapper]"); SecretFriendsModel parsedModel = SecretFriendsModelParser.parse((SecretFriends) getSite(), wrapper); setName(parsedModel.getName()); @@ -118,7 +119,7 @@ public class SecretFriendsModel extends AbstractModel { .build(); try (Response response = site.getHttpClient().execute(req)) { if (response.isSuccessful()) { - String body = Objects.requireNonNull(response.body(), "HTTP response body is null").string(); + String body = Objects.requireNonNull(response.body(), HTTP_RESPONSE_BODY_IS_NULL).string(); return new JSONObject(body); } else { throw new HttpException(response.code(), response.message()); @@ -137,7 +138,7 @@ public class SecretFriendsModel extends AbstractModel { .build(); try (Response response = site.getHttpClient().execute(req)) { if (response.isSuccessful()) { - return Objects.requireNonNull(response.body(), "HTTP response body is null").string(); + return Objects.requireNonNull(response.body(), HTTP_RESPONSE_BODY_IS_NULL).string(); } else { throw new HttpException(response.code(), response.message()); } diff --git a/common/src/main/java/ctbrec/sites/streamate/StreamateHttpClient.java b/common/src/main/java/ctbrec/sites/streamate/StreamateHttpClient.java index 285b9854..e9cfb6f8 100644 --- a/common/src/main/java/ctbrec/sites/streamate/StreamateHttpClient.java +++ b/common/src/main/java/ctbrec/sites/streamate/StreamateHttpClient.java @@ -13,6 +13,7 @@ import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; +import static ctbrec.ErrorMessages.HTTP_RESPONSE_BODY_IS_NULL; import static ctbrec.io.HttpConstants.*; public class StreamateHttpClient extends HttpClient { @@ -21,7 +22,6 @@ public class StreamateHttpClient extends HttpClient { private static final Logger LOG = LoggerFactory.getLogger(StreamateHttpClient.class); public static final MediaType JSON = MediaType.parse("application/json; charset=utf-8"); - public static final String HTTP_BODY_IS_NULL = "HTTP response body is null"; private Long userId; private String saKey = ""; @@ -58,7 +58,7 @@ public class StreamateHttpClient extends HttpClient { .build(); try (Response resp = execute(req)) { if (resp.code() == 200) { - String body = Objects.requireNonNull(resp.body(), HTTP_BODY_IS_NULL).string(); + String body = Objects.requireNonNull(resp.body(), HTTP_RESPONSE_BODY_IS_NULL).string(); LOG.info("Initial request was fine, Extracting XSRF token"); Matcher m = Pattern.compile("\"xsrfToken\":\"(.*?)\"", Pattern.DOTALL).matcher(body); if (m.find()) { @@ -114,7 +114,7 @@ public class StreamateHttpClient extends HttpClient { .post(body) .build(); try (Response response = client.newCall(login).execute()) { - String content = Objects.requireNonNull(response.body(), HTTP_BODY_IS_NULL).string(); + String content = Objects.requireNonNull(response.body(), HTTP_RESPONSE_BODY_IS_NULL).string(); if (response.isSuccessful()) { JSONObject json = new JSONObject(content); loggedIn = json.has(SAKEY_KEY); @@ -155,7 +155,7 @@ public class StreamateHttpClient extends HttpClient { Request request = newRequestBuilder().url(url).build(); try (Response response = execute(request)) { if (response.isSuccessful()) { - String content = Objects.requireNonNull(response.body(), HTTP_BODY_IS_NULL).string(); + String content = Objects.requireNonNull(response.body(), HTTP_RESPONSE_BODY_IS_NULL).string(); JSONObject json = new JSONObject(content); return json.optString("status").equals("SM_OK"); } else { diff --git a/common/src/main/java/ctbrec/sites/streamate/StreamateModel.java b/common/src/main/java/ctbrec/sites/streamate/StreamateModel.java index f6821dd7..a9c1ba86 100644 --- a/common/src/main/java/ctbrec/sites/streamate/StreamateModel.java +++ b/common/src/main/java/ctbrec/sites/streamate/StreamateModel.java @@ -22,6 +22,7 @@ import java.io.IOException; import java.util.*; import java.util.concurrent.ExecutionException; +import static ctbrec.ErrorMessages.HTTP_RESPONSE_BODY_IS_NULL; import static ctbrec.Model.State.*; import static ctbrec.io.HttpConstants.*; import static ctbrec.sites.streamate.StreamateHttpClient.JSON; @@ -33,7 +34,6 @@ public class StreamateModel extends AbstractModel { private static final Logger LOG = LoggerFactory.getLogger(StreamateModel.class); private static final Long MODEL_ID_UNDEFINED = -1L; - private static final String HTTP_BODY_IS_NULL = "HTTP response body is null"; private boolean online = false; private final transient List streamSources = new ArrayList<>(); @@ -87,7 +87,7 @@ public class StreamateModel extends AbstractModel { .build(); try (Response response = site.getHttpClient().execute(req)) { if (response.isSuccessful()) { - String body = Objects.requireNonNull(response.body(), HTTP_BODY_IS_NULL).string(); + String body = Objects.requireNonNull(response.body(), HTTP_RESPONSE_BODY_IS_NULL).string(); JSONObject json = new JSONObject(body); JSONObject formats = json.getJSONObject("formats"); JSONObject hls = formats.getJSONObject("mp4-hls"); @@ -197,7 +197,7 @@ public class StreamateModel extends AbstractModel { .post(body) .build(); try (Response response = getSite().getHttpClient().execute(request)) { - String content = Objects.requireNonNull(response.body(), HTTP_BODY_IS_NULL).string(); + String content = Objects.requireNonNull(response.body(), HTTP_RESPONSE_BODY_IS_NULL).string(); if (response.isSuccessful()) { JSONObject json = new JSONObject(content); return json.optBoolean("success");