From 810434fef54586655d05d9f594ef989efef3d0ce Mon Sep 17 00:00:00 2001 From: Koitharu Date: Thu, 11 May 2023 17:06:03 +0300 Subject: [PATCH] Fix Referer header for non-ascii domains --- .../koitharu/kotatsu/core/network/CommonHeadersInterceptor.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/koitharu/kotatsu/core/network/CommonHeadersInterceptor.kt b/app/src/main/java/org/koitharu/kotatsu/core/network/CommonHeadersInterceptor.kt index 6896cc4ab..8a19866cd 100644 --- a/app/src/main/java/org/koitharu/kotatsu/core/network/CommonHeadersInterceptor.kt +++ b/app/src/main/java/org/koitharu/kotatsu/core/network/CommonHeadersInterceptor.kt @@ -13,6 +13,7 @@ import org.koitharu.kotatsu.core.parser.RemoteMangaRepository import org.koitharu.kotatsu.parsers.model.MangaSource import org.koitharu.kotatsu.parsers.util.mergeWith import org.koitharu.kotatsu.utils.ext.printStackTraceDebug +import java.net.IDN import java.util.Locale import javax.inject.Inject import javax.inject.Singleton @@ -41,7 +42,8 @@ class CommonHeadersInterceptor @Inject constructor( headersBuilder[CommonHeaders.USER_AGENT] = userAgentFallback } if (headersBuilder[CommonHeaders.REFERER] == null && repository != null) { - headersBuilder.trySet(CommonHeaders.REFERER, "https://${repository.domain}/") + val idn = IDN.toASCII(repository.domain) + headersBuilder.trySet(CommonHeaders.REFERER, "https://$idn/") } val newRequest = request.newBuilder().headers(headersBuilder.build()).build() return repository?.intercept(ProxyChain(chain, newRequest)) ?: chain.proceed(newRequest)