From 45fa4af1a963972171ed359053f942fbe958329f Mon Sep 17 00:00:00 2001 From: Anthony Chomienne Date: Wed, 7 Jul 2021 17:33:21 +0200 Subject: [PATCH] Centralize error handling in OAuthManager and Fix error on sending parameters in urlencode format that are not correctly urlencoded --- .../peertubelive/manager/OAuthManager.kt | 69 +++++++------------ 1 file changed, 25 insertions(+), 44 deletions(-) diff --git a/app/src/main/java/fr/mobdev/peertubelive/manager/OAuthManager.kt b/app/src/main/java/fr/mobdev/peertubelive/manager/OAuthManager.kt index 2a8bc86..ee43d4c 100644 --- a/app/src/main/java/fr/mobdev/peertubelive/manager/OAuthManager.kt +++ b/app/src/main/java/fr/mobdev/peertubelive/manager/OAuthManager.kt @@ -15,6 +15,7 @@ import java.io.InputStreamReader import java.io.OutputStream import java.net.HttpURLConnection import java.net.URL +import java.net.URLEncoder import java.net.UnknownHostException import java.util.* import java.util.concurrent.Semaphore @@ -181,13 +182,7 @@ class OAuthManager { message.listener?.onError(message.context.getString(R.string.unknwon_error)) } } else { - if(response.isNotEmpty()) { - val rootObj = JSONObject(response) - val error = rootObj.getString("error") - message.listener?.onError(error) - } else { - message.listener?.onError(message.context.getString(R.string.unknwon_error)) - } + handleError(message,response) } } @@ -210,8 +205,12 @@ class OAuthManager { if (BuildConfig.DEBUG && oauth == null) { error("Missing OAUTH DATA") } - val username: String = message.args.getString(USERNAME,"") - val password: String = message.args.getString(PASSWORD,"") + var username: String = message.args.getString(USERNAME,"") + var password: String = message.args.getString(PASSWORD,"") + + username = URLEncoder.encode(username,"UTF-8") + password = URLEncoder.encode(password,"UTF-8") + println(password) var output = "" output += "client_id=" + (oauth?.clientId ?: "") @@ -261,13 +260,7 @@ class OAuthManager { message.listener?.onError(message.context.getString(R.string.unknwon_error)) } } else { - if(response.isNotEmpty()) { - val rootObj = JSONObject(response) - val error = rootObj.getString("error") - message.listener?.onError(error) - } else { - message.listener?.onError(message.context.getString(R.string.unknwon_error)) - } + handleError(message,response) } } @@ -338,13 +331,7 @@ class OAuthManager { message.listener?.onError(message.context.getString(R.string.unknwon_error)) } } else { - if(response.isNotEmpty()) { - val rootObj = JSONObject(response) - val error = rootObj.getString("error") - message.listener?.onError(error) - } else { - message.listener?.onError(message.context.getString(R.string.unknwon_error)) - } + handleError(message,response) } } @@ -413,17 +400,7 @@ class OAuthManager { message.listener?.onError(message.context.getString(R.string.unknwon_error)) } } else { - if (response.isNotEmpty()) { - try { - val rootObj = JSONObject(response) - val error = rootObj.getString("error") - message.listener?.onError(error) - } catch (e: Exception) { - message.listener?.onError(message.context.getString(R.string.json_error)) - } - } else { - message.listener?.onError(message.context.getString(R.string.unknwon_error)) - } + handleError(message,response) } } } @@ -471,17 +448,21 @@ class OAuthManager { message.listener?.onError(message.context.getString(R.string.unknwon_error)) } } else { - if(response.isNotEmpty()) { - try { - val rootObj = JSONObject(response) - val error = rootObj.getString("error") - message.listener?.onError(error) - } catch (e: Exception) { - message.listener?.onError(message.context.getString(R.string.json_error)) - } - } else { - message.listener?.onError(message.context.getString(R.string.unknwon_error)) + handleError(message,response) + } + } + + private fun handleError(message: Message, response: String) { + if(response.isNotEmpty()) { + try { + val rootObj = JSONObject(response) + val error = rootObj.getString("error") + message.listener?.onError(error) + } catch (e: Exception) { + message.listener?.onError(message.context.getString(R.string.json_error)) } + } else { + message.listener?.onError(message.context.getString(R.string.unknwon_error)) } }