@@ -24,6 +24,7 @@ import io.ktor.client.plugins.expectSuccess
24
24
import io.ktor.client.request.HttpRequestBuilder
25
25
import io.ktor.client.request.get
26
26
import io.ktor.client.request.post
27
+ import io.ktor.client.request.prepareGet
27
28
import io.ktor.client.request.put
28
29
import io.ktor.client.request.setBody
29
30
import io.ktor.client.statement.HttpResponse
@@ -240,7 +241,7 @@ class ModelClientV2(
240
241
241
242
override suspend fun pull (branch : BranchReference , lastKnownVersion : IVersion ? ): IVersion {
242
243
require(lastKnownVersion is CLVersion ? )
243
- val response = httpClient.get {
244
+ return httpClient.prepareGet {
244
245
url {
245
246
takeFrom(baseUrl)
246
247
appendPathSegmentsEncodingSlash(" repositories" , branch.repositoryId.id, " branches" , branch.branchName)
@@ -249,29 +250,30 @@ class ModelClientV2(
249
250
}
250
251
}
251
252
useVersionStreamFormat()
253
+ }.execute { response ->
254
+ val receivedVersion = createVersion(lastKnownVersion, response.readVersionDelta())
255
+ LOG .debug { " ${clientId.toString(16 )} .pull($branch , $lastKnownVersion ) -> $receivedVersion " }
256
+ receivedVersion
252
257
}
253
- val receivedVersion = createVersion(lastKnownVersion, response.readVersionDelta())
254
- LOG .debug { " ${clientId.toString(16 )} .pull($branch , $lastKnownVersion ) -> $receivedVersion " }
255
- return receivedVersion
256
258
}
257
259
258
260
override suspend fun pullIfExists (branch : BranchReference ): IVersion ? {
259
- val response = httpClient.get {
261
+ return httpClient.prepareGet {
260
262
expectSuccess = false
261
263
url {
262
264
takeFrom(baseUrl)
263
265
appendPathSegmentsEncodingSlash(" repositories" , branch.repositoryId.id, " branches" , branch.branchName)
264
266
}
265
267
useVersionStreamFormat()
268
+ }.execute { response ->
269
+ val receivedVersion = when (response.status) {
270
+ HttpStatusCode .NotFound -> null
271
+ HttpStatusCode .OK -> createVersion(null , response.readVersionDelta())
272
+ else -> throw ResponseException (response, response.bodyAsText())
273
+ }
274
+ LOG .debug { " ${clientId.toString(16 )} .pullIfExists($branch ) -> $receivedVersion " }
275
+ receivedVersion
266
276
}
267
-
268
- val receivedVersion = when (response.status) {
269
- HttpStatusCode .NotFound -> null
270
- HttpStatusCode .OK -> createVersion(null , response.readVersionDelta())
271
- else -> throw ResponseException (response, response.bodyAsText())
272
- }
273
- LOG .debug { " ${clientId.toString(16 )} .pullIfExists($branch ) -> $receivedVersion " }
274
- return receivedVersion
275
277
}
276
278
277
279
override suspend fun pullHash (branch : BranchReference ): String {
@@ -302,7 +304,7 @@ class ModelClientV2(
302
304
override suspend fun poll (branch : BranchReference , lastKnownVersion : IVersion ? ): IVersion {
303
305
require(lastKnownVersion is CLVersion ? )
304
306
LOG .debug { " ${clientId.toString(16 )} .poll($branch , $lastKnownVersion )" }
305
- val response = httpClient.get {
307
+ return httpClient.prepareGet {
306
308
url {
307
309
takeFrom(baseUrl)
308
310
appendPathSegmentsEncodingSlash(" repositories" , branch.repositoryId.id, " branches" , branch.branchName, " poll" )
@@ -311,10 +313,11 @@ class ModelClientV2(
311
313
}
312
314
}
313
315
useVersionStreamFormat()
316
+ }.execute { response ->
317
+ val receivedVersion = createVersion(lastKnownVersion, response.readVersionDelta())
318
+ LOG .debug { " ${clientId.toString(16 )} .poll($branch , $lastKnownVersion ) -> $receivedVersion " }
319
+ receivedVersion
314
320
}
315
- val receivedVersion = createVersion(lastKnownVersion, response.readVersionDelta())
316
- LOG .debug { " ${clientId.toString(16 )} .poll($branch , $lastKnownVersion ) -> $receivedVersion " }
317
- return receivedVersion
318
321
}
319
322
320
323
override suspend fun <R > query (branch : BranchReference , body : (IMonoStep <INode >) -> IMonoStep <R >): R {
0 commit comments