|
|
@ -36,7 +36,9 @@ class RemoteSyncServer(
|
|
|
|
|
|
|
|
|
|
|
|
override suspend fun register(): String = Dispatchers.IO {
|
|
|
|
override suspend fun register(): String = Dispatchers.IO {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
val response: RegisterReponse = httpClient.post("$baseURL/register")
|
|
|
|
val url = "$baseURL/register"
|
|
|
|
|
|
|
|
Log.i("RemoteSyncServer", "POST $url")
|
|
|
|
|
|
|
|
val response: RegisterReponse = httpClient.post(url)
|
|
|
|
return@IO response.key
|
|
|
|
return@IO response.key
|
|
|
|
} catch(e: ServerResponseException) {
|
|
|
|
} catch(e: ServerResponseException) {
|
|
|
|
throw ServiceUnavailable()
|
|
|
|
throw ServiceUnavailable()
|
|
|
@ -45,7 +47,9 @@ class RemoteSyncServer(
|
|
|
|
|
|
|
|
|
|
|
|
override suspend fun put(key: String, newData: SyncData) = Dispatchers.IO {
|
|
|
|
override suspend fun put(key: String, newData: SyncData) = Dispatchers.IO {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
val response: String = httpClient.put("$baseURL/db/$key") {
|
|
|
|
val url = "$baseURL/db/$key"
|
|
|
|
|
|
|
|
Log.i("RemoteSyncServer", "PUT $url")
|
|
|
|
|
|
|
|
val response: String = httpClient.put(url) {
|
|
|
|
header("Content-Type", "application/json")
|
|
|
|
header("Content-Type", "application/json")
|
|
|
|
body = newData
|
|
|
|
body = newData
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -61,7 +65,9 @@ class RemoteSyncServer(
|
|
|
|
|
|
|
|
|
|
|
|
override suspend fun getData(key: String): SyncData = Dispatchers.IO {
|
|
|
|
override suspend fun getData(key: String): SyncData = Dispatchers.IO {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
val data: SyncData = httpClient.get("$baseURL/db/$key")
|
|
|
|
val url = "$baseURL/db/$key"
|
|
|
|
|
|
|
|
Log.i("RemoteSyncServer", "GET $url")
|
|
|
|
|
|
|
|
val data: SyncData = httpClient.get(url)
|
|
|
|
return@IO data
|
|
|
|
return@IO data
|
|
|
|
} catch (e: ServerResponseException) {
|
|
|
|
} catch (e: ServerResponseException) {
|
|
|
|
throw ServiceUnavailable()
|
|
|
|
throw ServiceUnavailable()
|
|
|
@ -73,7 +79,9 @@ class RemoteSyncServer(
|
|
|
|
|
|
|
|
|
|
|
|
override suspend fun getDataVersion(key: String): Long = Dispatchers.IO {
|
|
|
|
override suspend fun getDataVersion(key: String): Long = Dispatchers.IO {
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
val response: GetDataVersionResponse = httpClient.get("$baseURL/db/$key/version")
|
|
|
|
val url = "$baseURL/db/$key/version"
|
|
|
|
|
|
|
|
Log.i("RemoteSyncServer", "GET $url")
|
|
|
|
|
|
|
|
val response: GetDataVersionResponse = httpClient.get(url)
|
|
|
|
return@IO response.version
|
|
|
|
return@IO response.version
|
|
|
|
} catch(e: ServerResponseException) {
|
|
|
|
} catch(e: ServerResponseException) {
|
|
|
|
throw ServiceUnavailable()
|
|
|
|
throw ServiceUnavailable()
|
|
|
|