gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[taler-taler-android] branch master updated (438c413 -> de20956)


From: gnunet
Subject: [taler-taler-android] branch master updated (438c413 -> de20956)
Date: Tue, 17 Jan 2023 18:57:43 +0100

This is an automated email from the git hooks/post-receive script.

torsten-grote pushed a change to branch master
in repository taler-android.

    from 438c413  [pos] use fdroid nightly fix as well
     new 3383aa3  [pos] include error detail in error string
     new de20956  [pos] Change ApiKey Authorization to Bearer

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../main/java/net/taler/merchantlib/MerchantApi.kt   | 20 ++++++++++++--------
 .../src/main/java/net/taler/merchantlib/Response.kt  |  5 +++--
 2 files changed, 15 insertions(+), 10 deletions(-)

diff --git a/merchant-lib/src/main/java/net/taler/merchantlib/MerchantApi.kt 
b/merchant-lib/src/main/java/net/taler/merchantlib/MerchantApi.kt
index c02907b..950cea6 100644
--- a/merchant-lib/src/main/java/net/taler/merchantlib/MerchantApi.kt
+++ b/merchant-lib/src/main/java/net/taler/merchantlib/MerchantApi.kt
@@ -20,6 +20,7 @@ import io.ktor.client.HttpClient
 import io.ktor.client.call.body
 import io.ktor.client.engine.okhttp.OkHttp
 import io.ktor.client.plugins.contentnegotiation.ContentNegotiation
+import io.ktor.client.request.HttpRequestBuilder
 import io.ktor.client.request.delete
 import io.ktor.client.request.get
 import io.ktor.client.request.header
@@ -28,13 +29,12 @@ import io.ktor.client.request.setBody
 import io.ktor.http.ContentType.Application.Json
 import io.ktor.http.HttpHeaders.Authorization
 import io.ktor.http.contentType
+import io.ktor.serialization.kotlinx.json.json
 import kotlinx.coroutines.CoroutineDispatcher
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.withContext
-import net.taler.merchantlib.Response.Companion.response
-import io.ktor.serialization.kotlinx.json.*
-import kotlinx.serialization.ExperimentalSerializationApi
 import kotlinx.serialization.json.Json
+import net.taler.merchantlib.Response.Companion.response
 
 class MerchantApi(
     private val httpClient: HttpClient = getDefaultHttpClient(),
@@ -53,7 +53,7 @@ class MerchantApi(
     ): Response<PostOrderResponse> = withContext(ioDispatcher) {
         response {
             httpClient.post(merchantConfig.urlFor("private/orders")) {
-                header(Authorization, "ApiKey ${merchantConfig.apiKey}")
+                auth(merchantConfig)
                 contentType(Json)
                 setBody(orderRequest)
             }.body()
@@ -66,7 +66,7 @@ class MerchantApi(
     ): Response<CheckPaymentResponse> = withContext(ioDispatcher) {
         response {
             httpClient.get(merchantConfig.urlFor("private/orders/$orderId")) {
-                header(Authorization, "ApiKey ${merchantConfig.apiKey}")
+                auth(merchantConfig)
             }.body()
         }
     }
@@ -77,7 +77,7 @@ class MerchantApi(
     ): Response<Unit> = withContext(ioDispatcher) {
         response {
             
httpClient.delete(merchantConfig.urlFor("private/orders/$orderId")) {
-                header(Authorization, "ApiKey ${merchantConfig.apiKey}")
+                auth(merchantConfig)
             }.body()
         }
     }
@@ -86,7 +86,7 @@ class MerchantApi(
         withContext(ioDispatcher) {
             response {
                 httpClient.get(merchantConfig.urlFor("private/orders")) {
-                    header(Authorization, "ApiKey ${merchantConfig.apiKey}")
+                    auth(merchantConfig)
                 }.body()
             }
         }
@@ -98,12 +98,16 @@ class MerchantApi(
     ): Response<RefundResponse> = withContext(ioDispatcher) {
         response {
             
httpClient.post(merchantConfig.urlFor("private/orders/$orderId/refund")) {
-                header(Authorization, "ApiKey ${merchantConfig.apiKey}")
+                auth(merchantConfig)
                 contentType(Json)
                 setBody(request)
             }.body()
         }
     }
+
+    private fun HttpRequestBuilder.auth(merchantConfig: MerchantConfig) {
+        header(Authorization, "Bearer ${merchantConfig.apiKey}")
+    }
 }
 
 fun getDefaultHttpClient(): HttpClient = HttpClient(OkHttp) {
diff --git a/merchant-lib/src/main/java/net/taler/merchantlib/Response.kt 
b/merchant-lib/src/main/java/net/taler/merchantlib/Response.kt
index b7ba1ac..a5511f2 100644
--- a/merchant-lib/src/main/java/net/taler/merchantlib/Response.kt
+++ b/merchant-lib/src/main/java/net/taler/merchantlib/Response.kt
@@ -73,7 +73,7 @@ class Response<out T> private constructor(
         val response = e.response
         return try {
             val error: Error = response.body()
-            "Error ${error.code}: ${error.hint}"
+            "Error ${error.code} (${response.status.value}): ${error.hint} 
${error.detail}"
         } catch (ex: Exception) {
             "Status code: ${response.status.value}"
         }
@@ -84,6 +84,7 @@ class Response<out T> private constructor(
     @Serializable
     private class Error(
         val code: Int?,
-        val hint: String?
+        val hint: String?,
+        val detail: String?,
     )
 }

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]