fix(lib/playlistutils): Keep query for m3u8 requests (#3032)
This commit is contained in:
parent
49f8ed987e
commit
0bed9f97e5
@ -5,6 +5,7 @@ import eu.kanade.tachiyomi.animesource.model.Video
|
|||||||
import eu.kanade.tachiyomi.network.GET
|
import eu.kanade.tachiyomi.network.GET
|
||||||
import eu.kanade.tachiyomi.util.asJsoup
|
import eu.kanade.tachiyomi.util.asJsoup
|
||||||
import okhttp3.Headers
|
import okhttp3.Headers
|
||||||
|
import okhttp3.HttpUrl
|
||||||
import okhttp3.HttpUrl.Companion.toHttpUrl
|
import okhttp3.HttpUrl.Companion.toHttpUrl
|
||||||
import okhttp3.OkHttpClient
|
import okhttp3.OkHttpClient
|
||||||
import okhttp3.internal.commonEmptyHeaders
|
import okhttp3.internal.commonEmptyHeaders
|
||||||
@ -105,9 +106,8 @@ class PlaylistUtils(private val client: OkHttpClient, private val headers: Heade
|
|||||||
val masterUrlBasePath = playlistHttpUrl.newBuilder().apply {
|
val masterUrlBasePath = playlistHttpUrl.newBuilder().apply {
|
||||||
removePathSegment(playlistHttpUrl.pathSize - 1)
|
removePathSegment(playlistHttpUrl.pathSize - 1)
|
||||||
addPathSegment("")
|
addPathSegment("")
|
||||||
query(null)
|
|
||||||
fragment(null)
|
fragment(null)
|
||||||
}.build().toString()
|
}.build()
|
||||||
|
|
||||||
// Get subtitles
|
// Get subtitles
|
||||||
val subtitleTracks = subtitleList + SUBTITLE_REGEX.findAll(masterPlaylist).mapNotNull {
|
val subtitleTracks = subtitleList + SUBTITLE_REGEX.findAll(masterPlaylist).mapNotNull {
|
||||||
@ -146,14 +146,14 @@ class PlaylistUtils(private val client: OkHttpClient, private val headers: Heade
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun getAbsoluteUrl(url: String, playlistUrl: String, masterBase: String): String? {
|
private fun getAbsoluteUrl(url: String, playlistUrl: String, masterBase: HttpUrl): String? {
|
||||||
return when {
|
return when {
|
||||||
url.isEmpty() -> null
|
url.isEmpty() -> null
|
||||||
url.startsWith("http") -> url
|
url.startsWith("http") -> url
|
||||||
url.startsWith("//") -> "https:$url"
|
url.startsWith("//") -> "https:$url"
|
||||||
url.startsWith("/") -> playlistUrl.toHttpUrl().newBuilder().encodedPath("/").build().toString()
|
url.startsWith("/") -> playlistUrl.toHttpUrl().newBuilder().encodedPath("/").build().toString()
|
||||||
.substringBeforeLast("/") + url
|
.substringBeforeLast("/") + url
|
||||||
else -> masterBase + url
|
else -> masterBase.newBuilder().addEncodedPathSegments(url).build().toString()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user