From e1b94c4148004d3f3f9526edade224a3a286dc8e Mon Sep 17 00:00:00 2001 From: litetex <40789489+litetex@users.noreply.github.com> Date: Sun, 9 Feb 2025 20:57:21 +0100 Subject: [PATCH] Move into dedicated package --- .../RateLimitedClientWrapper.java | 21 ++++++++++++------- .../{ => limiter}/RateLimiter.java | 4 ++-- .../{ => limiter}/SmoothRateLimiter.java | 2 +- .../{ => limiter}/package-info.java | 2 +- 4 files changed, 17 insertions(+), 12 deletions(-) rename extractor/src/test/java/org/schabi/newpipe/downloader/ratelimiting/{ => limiter}/RateLimiter.java (99%) rename extractor/src/test/java/org/schabi/newpipe/downloader/ratelimiting/{ => limiter}/SmoothRateLimiter.java (99%) rename extractor/src/test/java/org/schabi/newpipe/downloader/ratelimiting/{ => limiter}/package-info.java (79%) diff --git a/extractor/src/test/java/org/schabi/newpipe/downloader/ratelimiting/RateLimitedClientWrapper.java b/extractor/src/test/java/org/schabi/newpipe/downloader/ratelimiting/RateLimitedClientWrapper.java index ab9661871..cea39d148 100644 --- a/extractor/src/test/java/org/schabi/newpipe/downloader/ratelimiting/RateLimitedClientWrapper.java +++ b/extractor/src/test/java/org/schabi/newpipe/downloader/ratelimiting/RateLimitedClientWrapper.java @@ -1,5 +1,7 @@ package org.schabi.newpipe.downloader.ratelimiting; +import org.schabi.newpipe.downloader.ratelimiting.limiter.RateLimiter; + import java.io.IOException; import java.net.ProtocolException; import java.time.Duration; @@ -12,6 +14,9 @@ import okhttp3.Request; import okhttp3.Response; public class RateLimitedClientWrapper { + private static final boolean DEBUG_PRINT = + "1".equals(System.getProperty("rateLimitClientDebugPrint", + System.getenv("RATE_LIMIT_CLIENT_DEBUG_PRINT"))); private static final int REQUEST_RATE_LIMITED_WAIT_MS = 5_000; private static final Map, RateLimiter> FORCED_RATE_LIMITERS = Map.ofEntries( @@ -43,8 +48,10 @@ public class RateLimitedClientWrapper { for (int tries = 1; tries <= 3; tries++) { try { final double rateLimitedSec = getRateLimiterFor(request).acquire(); - System.out.println( - "[RATE-LIMIT] Waited " + rateLimitedSec + "s for " + request.url()); + if (DEBUG_PRINT) { + System.out.println( + "[RATE-LIMIT] Waited " + rateLimitedSec + "s for " + request.url()); + } final Response response = client.newCall(request).execute(); if(response.code() != 429) { // 429 = Too many requests @@ -59,8 +66,10 @@ public class RateLimitedClientWrapper { } final int waitMs = REQUEST_RATE_LIMITED_WAIT_MS * tries; - System.out.println( - "[TOO-MANY-REQUESTS] Waiting " + waitMs + "ms for " + request.url()); + if (DEBUG_PRINT) { + System.out.println( + "[TOO-MANY-REQUESTS] Waiting " + waitMs + "ms for " + request.url()); + } try { Thread.sleep(waitMs); } catch (final InterruptedException iex) { @@ -69,8 +78,4 @@ public class RateLimitedClientWrapper { } throw new IllegalStateException("Retrying/Rate-limiting for " + request.url() + "failed", cause); } - - public OkHttpClient getClient() { - return client; - } } diff --git a/extractor/src/test/java/org/schabi/newpipe/downloader/ratelimiting/RateLimiter.java b/extractor/src/test/java/org/schabi/newpipe/downloader/ratelimiting/limiter/RateLimiter.java similarity index 99% rename from extractor/src/test/java/org/schabi/newpipe/downloader/ratelimiting/RateLimiter.java rename to extractor/src/test/java/org/schabi/newpipe/downloader/ratelimiting/limiter/RateLimiter.java index 1b066e877..eef98fb79 100644 --- a/extractor/src/test/java/org/schabi/newpipe/downloader/ratelimiting/RateLimiter.java +++ b/extractor/src/test/java/org/schabi/newpipe/downloader/ratelimiting/limiter/RateLimiter.java @@ -12,7 +12,7 @@ * the License. */ -package org.schabi.newpipe.downloader.ratelimiting; +package org.schabi.newpipe.downloader.ratelimiting.limiter; import static java.lang.Math.max; import static java.util.concurrent.TimeUnit.MICROSECONDS; @@ -21,7 +21,7 @@ import static java.util.concurrent.TimeUnit.SECONDS; import com.google.errorprone.annotations.CanIgnoreReturnValue; -import org.schabi.newpipe.downloader.ratelimiting.SmoothRateLimiter.SmoothWarmingUp; +import org.schabi.newpipe.downloader.ratelimiting.limiter.SmoothRateLimiter.SmoothWarmingUp; import java.time.Duration; import java.util.Locale; diff --git a/extractor/src/test/java/org/schabi/newpipe/downloader/ratelimiting/SmoothRateLimiter.java b/extractor/src/test/java/org/schabi/newpipe/downloader/ratelimiting/limiter/SmoothRateLimiter.java similarity index 99% rename from extractor/src/test/java/org/schabi/newpipe/downloader/ratelimiting/SmoothRateLimiter.java rename to extractor/src/test/java/org/schabi/newpipe/downloader/ratelimiting/limiter/SmoothRateLimiter.java index f72b127c2..14fbb74cf 100644 --- a/extractor/src/test/java/org/schabi/newpipe/downloader/ratelimiting/SmoothRateLimiter.java +++ b/extractor/src/test/java/org/schabi/newpipe/downloader/ratelimiting/limiter/SmoothRateLimiter.java @@ -12,7 +12,7 @@ * the License. */ -package org.schabi.newpipe.downloader.ratelimiting; +package org.schabi.newpipe.downloader.ratelimiting.limiter; import static java.lang.Math.min; import static java.util.concurrent.TimeUnit.SECONDS; diff --git a/extractor/src/test/java/org/schabi/newpipe/downloader/ratelimiting/package-info.java b/extractor/src/test/java/org/schabi/newpipe/downloader/ratelimiting/limiter/package-info.java similarity index 79% rename from extractor/src/test/java/org/schabi/newpipe/downloader/ratelimiting/package-info.java rename to extractor/src/test/java/org/schabi/newpipe/downloader/ratelimiting/limiter/package-info.java index 41a6c319e..7e67c1434 100644 --- a/extractor/src/test/java/org/schabi/newpipe/downloader/ratelimiting/package-info.java +++ b/extractor/src/test/java/org/schabi/newpipe/downloader/ratelimiting/limiter/package-info.java @@ -7,4 +7,4 @@ * * @author litetex */ -package org.schabi.newpipe.downloader.ratelimiting; +package org.schabi.newpipe.downloader.ratelimiting.limiter;