Skip to content

Commit

Permalink
Add custom logging (#58)
Browse files Browse the repository at this point in the history
Co-authored-by: hfhbd <[email protected]>
  • Loading branch information
hfhbd and hfhbd authored May 17, 2021
1 parent 6d9bd89 commit 5e5c820
Show file tree
Hide file tree
Showing 5 changed files with 11 additions and 4 deletions.
6 changes: 4 additions & 2 deletions cloudkitclient-core/api/cloudkitclient-core.api
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
public final class app/softwork/cloudkitclient/CKClient : app/softwork/cloudkitclient/Client {
public static final field Companion Lapp/softwork/cloudkitclient/CKClient$Companion;
public fun <init> (Ljava/lang/String;Ljava/lang/String;[BLapp/softwork/cloudkitclient/Environment;)V
public synthetic fun <init> (Ljava/lang/String;Ljava/lang/String;[BLapp/softwork/cloudkitclient/Environment;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public fun <init> (Ljava/lang/String;Ljava/lang/String;[BLkotlin/jvm/functions/Function1;Lapp/softwork/cloudkitclient/Environment;)V
public synthetic fun <init> (Ljava/lang/String;Ljava/lang/String;[BLkotlin/jvm/functions/Function1;Lapp/softwork/cloudkitclient/Environment;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public fun download (Lapp/softwork/cloudkitclient/types/Asset;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public final fun getContainer ()Ljava/lang/String;
public final fun getEnvironment ()Lapp/softwork/cloudkitclient/Environment;
public fun getLogging ()Lkotlin/jvm/functions/Function1;
public fun getPrivateDB ()Lapp/softwork/cloudkitclient/CKClient$Database;
public synthetic fun getPrivateDB ()Lapp/softwork/cloudkitclient/Client$Database;
public fun getPublicDB ()Lapp/softwork/cloudkitclient/CKClient$Database;
Expand All @@ -28,6 +29,7 @@ public final class app/softwork/cloudkitclient/CKClient$Database : app/softwork/

public abstract interface class app/softwork/cloudkitclient/Client {
public abstract fun download (Lapp/softwork/cloudkitclient/types/Asset;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public abstract fun getLogging ()Lkotlin/jvm/functions/Function1;
public abstract fun getPrivateDB ()Lapp/softwork/cloudkitclient/Client$Database;
public abstract fun getPublicDB ()Lapp/softwork/cloudkitclient/Client$Database;
public abstract fun getSharedDB ()Lapp/softwork/cloudkitclient/Client$Database;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ public class CKClient(
public val container: String,
keyID: String,
private val privateECPrime256v1Key: ByteArray,
override val logging: (String) -> Unit = { },
public val environment: Environment = Environment.Development
) : Client {

Expand Down Expand Up @@ -179,7 +180,7 @@ public class CKClient(

val date = Clock.System.now().toString().dropLastWhile { it != '.' }.replace('.', 'Z')
val body = json.encodeToString(serializer, requestBody())
println("body: $body")
logging("body: $body")
val bodySignature = sha256(body).encodeBase64
val signature = ecdsa(privateECPrime256v1Key, "$date:$bodySignature:$subPath")

Expand All @@ -188,7 +189,7 @@ public class CKClient(
header("X-Apple-CloudKit-Request-SignatureV1", signature)
this.body = body
}.also {
println("response: $it")
logging("response: $it")
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ import app.softwork.cloudkitclient.values.*
import kotlin.reflect.*

public interface Client {
public val logging: (String) -> Unit

public suspend fun download(assetToDownload: Asset): ByteArray

public val publicDB: Database
Expand Down
1 change: 1 addition & 0 deletions cloudkitclient-testing/api/cloudkitclient-testing.api
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ public final class app/softwork/cloudkitclient/Storage {
public class app/softwork/cloudkitclient/TestClient : app/softwork/cloudkitclient/Client {
public fun <init> ()V
public fun download (Lapp/softwork/cloudkitclient/types/Asset;Lkotlin/coroutines/Continuation;)Ljava/lang/Object;
public fun getLogging ()Lkotlin/jvm/functions/Function1;
public synthetic fun getPrivateDB ()Lapp/softwork/cloudkitclient/Client$Database;
public fun getPrivateDB ()Lapp/softwork/cloudkitclient/TestDatabase;
public synthetic fun getPublicDB ()Lapp/softwork/cloudkitclient/Client$Database;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import app.softwork.cloudkitclient.types.*
import kotlinx.uuid.*

public open class TestClient : Client {
override val logging: (String) -> Unit = { println(it) }
private val assets: MutableMap<UUID, Pair<Asset, ByteArray>> =
mutableMapOf()

Expand Down

0 comments on commit 5e5c820

Please sign in to comment.