mirror of
				https://github.com/mihonapp/mihon.git
				synced 2025-11-03 23:58:55 +01:00 
			
		
		
		
	URL encode Kitsu search queries (fixes #5712)
This commit is contained in:
		@@ -24,6 +24,7 @@ import okhttp3.OkHttpClient
 | 
			
		||||
import okhttp3.Request
 | 
			
		||||
import uy.kohesive.injekt.injectLazy
 | 
			
		||||
import java.net.URLEncoder
 | 
			
		||||
import java.nio.charset.StandardCharsets
 | 
			
		||||
 | 
			
		||||
class BangumiApi(private val client: OkHttpClient, interceptor: BangumiInterceptor) {
 | 
			
		||||
 | 
			
		||||
@@ -70,7 +71,7 @@ class BangumiApi(private val client: OkHttpClient, interceptor: BangumiIntercept
 | 
			
		||||
 | 
			
		||||
    suspend fun search(search: String): List<TrackSearch> {
 | 
			
		||||
        return withIOContext {
 | 
			
		||||
            val url = "$apiUrl/search/subject/${URLEncoder.encode(search, Charsets.UTF_8.name())}"
 | 
			
		||||
            val url = "$apiUrl/search/subject/${URLEncoder.encode(search, StandardCharsets.UTF_8.name())}"
 | 
			
		||||
                .toUri()
 | 
			
		||||
                .buildUpon()
 | 
			
		||||
                .appendQueryParameter("max_results", "20")
 | 
			
		||||
 
 | 
			
		||||
@@ -24,6 +24,8 @@ import okhttp3.OkHttpClient
 | 
			
		||||
import okhttp3.Request
 | 
			
		||||
import okhttp3.RequestBody
 | 
			
		||||
import okhttp3.RequestBody.Companion.toRequestBody
 | 
			
		||||
import java.net.URLEncoder
 | 
			
		||||
import java.nio.charset.StandardCharsets
 | 
			
		||||
 | 
			
		||||
class KitsuApi(private val client: OkHttpClient, interceptor: KitsuInterceptor) {
 | 
			
		||||
 | 
			
		||||
@@ -125,7 +127,7 @@ class KitsuApi(private val client: OkHttpClient, interceptor: KitsuInterceptor)
 | 
			
		||||
    private suspend fun algoliaSearch(key: String, query: String): List<TrackSearch> {
 | 
			
		||||
        return withIOContext {
 | 
			
		||||
            val jsonObject = buildJsonObject {
 | 
			
		||||
                put("params", "query=$query$algoliaFilter")
 | 
			
		||||
                put("params", "query=${URLEncoder.encode(query, StandardCharsets.UTF_8.name())}$algoliaFilter")
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            client.newCall(
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,7 @@
 | 
			
		||||
package eu.kanade.tachiyomi.util.lang
 | 
			
		||||
 | 
			
		||||
import net.greypanther.natsort.CaseInsensitiveSimpleNaturalComparator
 | 
			
		||||
import java.nio.charset.StandardCharsets
 | 
			
		||||
import kotlin.math.floor
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -41,7 +42,7 @@ fun String.compareToCaseInsensitiveNaturalOrder(other: String): Int {
 | 
			
		||||
 * Returns the size of the string as the number of bytes.
 | 
			
		||||
 */
 | 
			
		||||
fun String.byteSize(): Int {
 | 
			
		||||
    return toByteArray(Charsets.UTF_8).size
 | 
			
		||||
    return toByteArray(StandardCharsets.UTF_8).size
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
@@ -49,7 +50,7 @@ fun String.byteSize(): Int {
 | 
			
		||||
 * string is shorter.
 | 
			
		||||
 */
 | 
			
		||||
fun String.takeBytes(n: Int): String {
 | 
			
		||||
    val bytes = toByteArray(Charsets.UTF_8)
 | 
			
		||||
    val bytes = toByteArray(StandardCharsets.UTF_8)
 | 
			
		||||
    return if (bytes.size <= n) {
 | 
			
		||||
        this
 | 
			
		||||
    } else {
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user