From efb560301e892bbf9e6d43636c6872bcec2713fa Mon Sep 17 00:00:00 2001 From: pidoubleyou <22942659+pidoubleyou@users.noreply.github.com> Date: Wed, 5 Feb 2025 21:20:18 +0100 Subject: [PATCH] replace non reachable host in link --- .../sender/arte/ArteListBaseDeserializer.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/mServer/crawler/sender/arte/ArteListBaseDeserializer.java b/src/main/java/mServer/crawler/sender/arte/ArteListBaseDeserializer.java index ea844c34e..2e1a03abf 100644 --- a/src/main/java/mServer/crawler/sender/arte/ArteListBaseDeserializer.java +++ b/src/main/java/mServer/crawler/sender/arte/ArteListBaseDeserializer.java @@ -16,24 +16,32 @@ public abstract class ArteListBaseDeserializer { private static final String JSON_ELEMENT_LINKS = "links"; private static final String JSON_ELEMENT_NEXT = "next"; + private static String buildUrl(String nextUrl) { + return UrlUtils.addDomainIfMissing( + nextUrl + .replace("/api/emac/", "/api/rproxy/emac/") + // fix non reachable host + .replace("api-internal.infra-priv.arte.tv", "www.arte.tv") + , "https://www.arte.tv"); + } + protected Optional parsePagination(JsonObject jsonObject) { if (jsonObject.has(JSON_ELEMENT_PAGINATION) && !jsonObject.get(JSON_ELEMENT_PAGINATION).isJsonNull()) { final JsonObject pagionationObject = jsonObject.get(JSON_ELEMENT_PAGINATION).getAsJsonObject(); - if(pagionationObject.has(JSON_ELEMENT_LINKS)) { + if (pagionationObject.has(JSON_ELEMENT_LINKS)) { final JsonObject linksObject = pagionationObject.get(JSON_ELEMENT_LINKS).getAsJsonObject(); final Optional nextUrl = JsonUtils.getAttributeAsString(linksObject, JSON_ELEMENT_NEXT); if (nextUrl.isPresent()) { - return Optional.of(UrlUtils.addDomainIfMissing(nextUrl.get().replace("/api/emac/", "/api/rproxy/emac/"), "https://www.arte.tv")); + return Optional.of(buildUrl(nextUrl.get())); } } } return Optional.empty(); } - protected void extractProgramIdFromData(JsonObject jsonObectWithData, ArteCategoryFilmsDTO dto) { if (jsonObectWithData.has(JSON_ELEMENT_DATA)) { - for(JsonElement dataElement : jsonObectWithData.get(JSON_ELEMENT_DATA).getAsJsonArray()) { + for (JsonElement dataElement : jsonObectWithData.get(JSON_ELEMENT_DATA).getAsJsonArray()) { if (!dataElement.getAsJsonObject().get(JSON_ELEMENT_PROGRAMID).isJsonNull()) { Optional programId = JsonUtils.getAttributeAsString(dataElement.getAsJsonObject(), JSON_ELEMENT_PROGRAMID); if (programId.isPresent()) {