From aaca5878d5ac84b27917bbf1b7994fe59733fc97 Mon Sep 17 00:00:00 2001 From: Allan Wang Date: Sat, 23 May 2020 17:53:50 -0700 Subject: Query encode --- .../com/pitchedapps/frost/facebook/FbUrlFormatter.kt | 15 +++++++-------- .../pitchedapps/frost/facebook/parsers/SearchParser.kt | 3 ++- 2 files changed, 9 insertions(+), 9 deletions(-) (limited to 'app/src/main/kotlin') diff --git a/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbUrlFormatter.kt b/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbUrlFormatter.kt index 5ae6856b..093c8c94 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbUrlFormatter.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/facebook/FbUrlFormatter.kt @@ -18,6 +18,7 @@ package com.pitchedapps.frost.facebook import android.net.Uri import com.pitchedapps.frost.utils.L +import com.pitchedapps.frost.utils.urlEncode import java.net.URLDecoder import java.nio.charset.StandardCharsets @@ -89,21 +90,19 @@ class FbUrlFormatter(url: String) { return cleanedUrl } - override fun toString(): String { - val builder = StringBuilder() - builder.append(cleaned) + override fun toString(): String = buildString { + append(cleaned) if (queries.isNotEmpty()) { - builder.append("?") + append("?") queries.forEach { (k, v) -> if (v.isEmpty()) { - builder.append("$k&") + append("${k.urlEncode()}&") } else { - builder.append("$k=$v&") + append("${k.urlEncode()}=${v.urlEncode()}&") } } } - return builder.removeSuffix("&").toString() - } + }.removeSuffix("&") fun toLogList(): List { val list = mutableListOf(cleaned) diff --git a/app/src/main/kotlin/com/pitchedapps/frost/facebook/parsers/SearchParser.kt b/app/src/main/kotlin/com/pitchedapps/frost/facebook/parsers/SearchParser.kt index 28b4a556..42a6ab53 100644 --- a/app/src/main/kotlin/com/pitchedapps/frost/facebook/parsers/SearchParser.kt +++ b/app/src/main/kotlin/com/pitchedapps/frost/facebook/parsers/SearchParser.kt @@ -23,6 +23,7 @@ import com.pitchedapps.frost.facebook.FbItem import com.pitchedapps.frost.facebook.formattedFbUrl import com.pitchedapps.frost.facebook.parsers.FrostSearch.Companion.create import com.pitchedapps.frost.utils.L +import com.pitchedapps.frost.utils.urlEncode import org.jsoup.nodes.Document import org.jsoup.nodes.Element @@ -31,7 +32,7 @@ import org.jsoup.nodes.Element */ object SearchParser : FrostParser by SearchParserImpl() { fun query(cookie: String?, input: String): ParseResponse? { - val url = "${FbItem._SEARCH_PARSE.url}?q=${if (input.isNotBlank()) input else "a"}" + val url = "${FbItem._SEARCH_PARSE.url}/?q=${if (input.isNotBlank()) input.urlEncode() else "a"}" L._i { "Search Query $url" } return parseFromUrl(cookie, url) } -- cgit v1.2.3