From c40b33a1e988b344f3e59ff2659cf26cfb752422 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 28 Apr 2022 18:56:00 -0400 Subject: [PATCH] Don't overwrite okhttp ua if already set If the request has its own UA set, don't overwrite it with the default RuneLite one. This has to be an interceptor and not a network interceptor so that it runs prior to the okhttp BridgeInteceptor, which is what sets the default okhttp ua. --- .../src/main/java/net/runelite/client/RuneLite.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/RuneLite.java b/runelite-client/src/main/java/net/runelite/client/RuneLite.java index b338cbd981..dc3ab7a24d 100644 --- a/runelite-client/src/main/java/net/runelite/client/RuneLite.java +++ b/runelite-client/src/main/java/net/runelite/client/RuneLite.java @@ -434,9 +434,15 @@ public class RuneLite { OkHttpClient.Builder builder = new OkHttpClient.Builder() .pingInterval(30, TimeUnit.SECONDS) - .addNetworkInterceptor(chain -> + .addInterceptor(chain -> { - Request userAgentRequest = chain.request() + Request request = chain.request(); + if (request.header("User-Agent") != null) + { + return chain.proceed(request); + } + + Request userAgentRequest = request .newBuilder() .header("User-Agent", USER_AGENT) .build();