Extension API: change fallback source and logic (#7400)

* Extension API: change fallback source and logic

* remove ghproxy
This commit is contained in:
stevenyomi 2022-06-30 06:34:25 +08:00 committed by GitHub
parent 08d1ecfba7
commit 284445c364
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -29,14 +29,17 @@ internal class ExtensionGithubApi {
suspend fun findExtensions(): List<Extension.Available> { suspend fun findExtensions(): List<Extension.Available> {
return withIOContext { return withIOContext {
val response = try { val githubResponse = if (requiresFallbackSource) null else try {
networkService.client networkService.client
.newCall(GET("${REPO_URL_PREFIX}index.min.json")) .newCall(GET("${REPO_URL_PREFIX}index.min.json"))
.await() .await()
} catch (e: Throwable) { } catch (e: Throwable) {
logcat(LogPriority.ERROR, e) { "Failed to get extensions from GitHub" } logcat(LogPriority.ERROR, e) { "Failed to get extensions from GitHub" }
requiresFallbackSource = true requiresFallbackSource = true
null
}
val response = githubResponse ?: run {
networkService.client networkService.client
.newCall(GET("${FALLBACK_REPO_URL_PREFIX}index.min.json")) .newCall(GET("${FALLBACK_REPO_URL_PREFIX}index.min.json"))
.await() .await()
@ -134,7 +137,7 @@ internal class ExtensionGithubApi {
} }
private const val REPO_URL_PREFIX = "https://raw.githubusercontent.com/tachiyomiorg/tachiyomi-extensions/repo/" private const val REPO_URL_PREFIX = "https://raw.githubusercontent.com/tachiyomiorg/tachiyomi-extensions/repo/"
private const val FALLBACK_REPO_URL_PREFIX = "https://fastly.jsdelivr.net/gh/tachiyomiorg/tachiyomi-extensions@repo/" private const val FALLBACK_REPO_URL_PREFIX = "https://gcore.jsdelivr.net/gh/tachiyomiorg/tachiyomi-extensions@repo/"
@Serializable @Serializable
private data class ExtensionJsonObject( private data class ExtensionJsonObject(