Discover artwork + Library icon + notification tap routing #73
@@ -38,14 +38,18 @@ class BaseUrlInterceptor @Inject constructor(
|
|||||||
|
|
||||||
override fun intercept(chain: Interceptor.Chain): Response {
|
override fun intercept(chain: Interceptor.Chain): Response {
|
||||||
val original = chain.request()
|
val original = chain.request()
|
||||||
|
// Early-bail keeps the no-op path for external URLs cheap
|
||||||
|
// (no AuthStore read, no URL parse).
|
||||||
if (original.url.host != PLACEHOLDER_HOST) return chain.proceed(original)
|
if (original.url.host != PLACEHOLDER_HOST) return chain.proceed(original)
|
||||||
val baseUrl = authStore.baseUrl.value.toHttpUrlOrNull()
|
// Unparseable baseUrl folds into the same proceed path — keeps
|
||||||
?: return chain.proceed(original)
|
// detekt's ReturnCount happy by avoiding a second early return.
|
||||||
val rewritten: HttpUrl = original.url.newBuilder()
|
val rewritten: HttpUrl = authStore.baseUrl.value.toHttpUrlOrNull()?.let { baseUrl ->
|
||||||
.scheme(baseUrl.scheme)
|
original.url.newBuilder()
|
||||||
.host(baseUrl.host)
|
.scheme(baseUrl.scheme)
|
||||||
.port(baseUrl.port)
|
.host(baseUrl.host)
|
||||||
.build()
|
.port(baseUrl.port)
|
||||||
|
.build()
|
||||||
|
} ?: original.url
|
||||||
return chain.proceed(original.newBuilder().url(rewritten).build())
|
return chain.proceed(original.newBuilder().url(rewritten).build())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user