Skip to content

Commit a7eded0

Browse files
committed
another try
1 parent 043fe8d commit a7eded0

File tree

2 files changed

+62
-56
lines changed

2 files changed

+62
-56
lines changed

CBLClient/Apps/CBLTestServer-iOS/CBLTestServer-iOS/Server/PeerToPeerRequestHandler.swift

Lines changed: 61 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -73,8 +73,8 @@ public class PeerToPeerRequestHandler {
7373
config = URLEndpointListenerConfiguration(collections: collections!)
7474
}
7575
else if database != nil {
76-
let defaultCol = try database?.defaultCollection()
77-
config = URLEndpointListenerConfiguration.init(collections: [defaultCol!])
76+
let defaultCol = try database!.defaultCollection()
77+
config = URLEndpointListenerConfiguration.init(collections: [defaultCol])
7878
}
7979
else {
8080
throw RequestHandlerError.InvalidArgument("Provide collections or database")
@@ -238,7 +238,7 @@ public class PeerToPeerRequestHandler {
238238
let serverDBName: String = args.get(name:"serverDBName")!
239239
let database: Database = args.get(name:"database")!
240240
let defaultCol = try database.defaultCollection()
241-
let colConfig = CollectionConfiguration(collection: defaultCol)
241+
var colConfig = CollectionConfiguration(collection: defaultCol)
242242

243243
let continuous: Bool? = args.get(name:"continuous")!
244244
let replication_type: String? = args.get(name: "replicationType")!
@@ -260,6 +260,7 @@ public class PeerToPeerRequestHandler {
260260
var wsPort: String?
261261
let maxRetries: String? = args.get(name: "max_retries")
262262
let maxRetryWaitTime: String? = args.get(name: "max_timeout")
263+
263264

264265
if let type = replication_type {
265266
if type == "push" {
@@ -276,93 +277,94 @@ public class PeerToPeerRequestHandler {
276277
} else {
277278
wsPort = "ws"
278279
}
279-
280-
let url = URL(string: "\(wsPort ?? "ws")://\(host):\(port)/\(serverDBName)")!
281-
if endPointType == "URLEndPoint"{
282-
let urlEndPoint: URLEndpoint = URLEndpoint(url: url)
283-
replicatorConfig = ReplicatorConfiguration(collections: [colConfig], target: urlEndPoint)
284-
}
285-
else{
286-
let endpoint = MessageEndpoint(uid: url.absoluteString, target: url, protocolType: ProtocolType.byteStream, delegate: self)
287-
replicatorConfig = ReplicatorConfiguration(collections: [colConfig], target: endpoint)
288-
}
289280

290-
if auth != nil {
291-
replicatorConfig.authenticator = auth
292-
}
293-
if serverVerificationMode != false {
294-
replicatorConfig.acceptOnlySelfSignedServerCertificate = true
295-
}
296-
297-
if tlsAuthType == "self_signed" {
298-
let certData = try! dataFromResource(name: "identity/certs", ofType: "p12")
299-
try! TLSIdentity.deleteIdentity(withLabel: "CBL-Cert")
300-
let identity = try! TLSIdentity.importIdentity(withData: certData, password: "123", label: "CBL-Cert")
301-
replicatorConfig.pinnedServerCertificate = identity.certs[0]
302-
print("======= pinned the certs to Replicator ============")
303-
}
304-
if tlsAuthenticator != false {
305-
let clientCertData = try dataFromResource(name: "identity/client", ofType: "p12")
306-
try! TLSIdentity.deleteIdentity(withLabel: "CBL-Cert")
307-
let identity = try TLSIdentity.importIdentity(withData: clientCertData, password: "123", label: "CBL-Cert")
308-
replicatorConfig.authenticator = ClientCertificateAuthenticator(identity: identity)
309-
print("====== Added Autheticator to Replicator ========")
310-
}
311-
312-
if continuous != nil {
313-
replicatorConfig.continuous = continuous!
314-
}
315281
if documentIDs != nil {
316-
replicatorConfig.documentIDs = documentIDs
282+
colConfig.documentIDs = documentIDs
317283
}
318284
if pull_filter != false {
319285
if filter_callback_func == "boolean" {
320-
replicatorConfig.pullFilter = _replicatorBooleanFilterCallback;
286+
colConfig.pullFilter = _replicatorBooleanFilterCallback;
321287
} else if filter_callback_func == "deleted" {
322-
replicatorConfig.pullFilter = _replicatorDeletedFilterCallback;
288+
colConfig.pullFilter = _replicatorDeletedFilterCallback;
323289
} else if filter_callback_func == "access_revoked" {
324-
replicatorConfig.pullFilter = _replicatorAccessRevokedCallback;
290+
colConfig.pullFilter = _replicatorAccessRevokedCallback;
325291
} else {
326-
replicatorConfig.pullFilter = _defaultReplicatorFilterCallback;
292+
colConfig.pullFilter = _defaultReplicatorFilterCallback;
327293
}
328294
}
329295
if push_filter != false {
330296
if filter_callback_func == "boolean" {
331-
replicatorConfig.pushFilter = _replicatorBooleanFilterCallback;
297+
colConfig.pushFilter = _replicatorBooleanFilterCallback;
332298
} else if filter_callback_func == "deleted" {
333-
replicatorConfig.pushFilter = _replicatorDeletedFilterCallback;
299+
colConfig.pushFilter = _replicatorDeletedFilterCallback;
334300
} else if filter_callback_func == "access_revoked" {
335-
replicatorConfig.pushFilter = _replicatorAccessRevokedCallback;
301+
colConfig.pushFilter = _replicatorAccessRevokedCallback;
336302
} else {
337-
replicatorConfig.pushFilter = _defaultReplicatorFilterCallback;
303+
colConfig.pushFilter = _defaultReplicatorFilterCallback;
338304
}
339305
}
340306
switch conflict_resolver {
341307
case "local_wins":
342-
replicatorConfig.conflictResolver = LocalWinCustomConflictResolver();
308+
colConfig.conflictResolver = LocalWinCustomConflictResolver();
343309
break
344310
case "remote_wins":
345-
replicatorConfig.conflictResolver = RemoteWinCustomConflictResolver();
311+
colConfig.conflictResolver = RemoteWinCustomConflictResolver();
346312
break;
347313
case "null":
348-
replicatorConfig.conflictResolver = NullWinCustomConflictResolver();
314+
colConfig.conflictResolver = NullWinCustomConflictResolver();
349315
break;
350316
case "merge":
351-
replicatorConfig.conflictResolver = MergeWinCustomConflictResolver();
317+
colConfig.conflictResolver = MergeWinCustomConflictResolver();
352318
break;
353319
case "incorrect_doc_id":
354-
replicatorConfig.conflictResolver = IncorrectDocIdCustomConflictResolver();
320+
colConfig.conflictResolver = IncorrectDocIdCustomConflictResolver();
355321
break;
356322
case "delayed_local_win":
357-
replicatorConfig.conflictResolver = DelayedLocalWinCustomConflictResolver();
323+
colConfig.conflictResolver = DelayedLocalWinCustomConflictResolver();
358324
break;
359325
case "exception_thrown":
360-
replicatorConfig.conflictResolver = ExceptionThrownCustomConflictResolver();
326+
colConfig.conflictResolver = ExceptionThrownCustomConflictResolver();
361327
break;
362328
default:
363-
replicatorConfig.conflictResolver = ConflictResolver.default
329+
colConfig.conflictResolver = ConflictResolver.default
364330
break;
365331
}
332+
333+
let url = URL(string: "\(wsPort ?? "ws")://\(host):\(port)/\(serverDBName)")!
334+
if endPointType == "URLEndPoint"{
335+
let urlEndPoint: URLEndpoint = URLEndpoint(url: url)
336+
replicatorConfig = ReplicatorConfiguration(collections: [colConfig], target: urlEndPoint)
337+
}
338+
else{
339+
let endpoint = MessageEndpoint(uid: url.absoluteString, target: url, protocolType: ProtocolType.byteStream, delegate: self)
340+
replicatorConfig = ReplicatorConfiguration(collections: [colConfig], target: endpoint)
341+
}
342+
343+
if auth != nil {
344+
replicatorConfig.authenticator = auth
345+
}
346+
if serverVerificationMode != false {
347+
replicatorConfig.acceptOnlySelfSignedServerCertificate = true
348+
}
349+
350+
if tlsAuthType == "self_signed" {
351+
let certData = try! dataFromResource(name: "identity/certs", ofType: "p12")
352+
try! TLSIdentity.deleteIdentity(withLabel: "CBL-Cert")
353+
let identity = try! TLSIdentity.importIdentity(withData: certData, password: "123", label: "CBL-Cert")
354+
replicatorConfig.pinnedServerCertificate = identity.certs[0]
355+
print("======= pinned the certs to Replicator ============")
356+
}
357+
if tlsAuthenticator != false {
358+
let clientCertData = try dataFromResource(name: "identity/client", ofType: "p12")
359+
try! TLSIdentity.deleteIdentity(withLabel: "CBL-Cert")
360+
let identity = try TLSIdentity.importIdentity(withData: clientCertData, password: "123", label: "CBL-Cert")
361+
replicatorConfig.authenticator = ClientCertificateAuthenticator(identity: identity)
362+
print("====== Added Autheticator to Replicator ========")
363+
}
364+
365+
if continuous != nil {
366+
replicatorConfig.continuous = continuous!
367+
}
366368
if let heartbeat = heartbeat, let heartbeatDouble = Double(heartbeat) {
367369
replicatorConfig.heartbeat = heartbeatDouble
368370
}
@@ -391,7 +393,7 @@ public class PeerToPeerRequestHandler {
391393
case "peerToPeer_removeReplicatorEventListener":
392394
let replication_obj: Replicator = args.get(name: "replicator")!
393395
let changeListener : MyDocumentReplicationListener = (args.get(name: "changeListener"))!
394-
replication_obj.removeChangeListener(withToken: changeListener.listenerToken!)
396+
changeListener.listenerToken!.remove()
395397

396398
case "peerToPeer_replicatorEventChangesCount":
397399
let changeListener: MyDocumentReplicationListener = (args.get(name: "changeListener"))!
@@ -415,6 +417,9 @@ public class PeerToPeerRequestHandler {
415417
default:
416418
throw RequestHandlerError.MethodNotFound(method)
417419
}
420+
421+
return PeerToPeerRequestHandler.VOID
422+
418423
}
419424
}
420425
#if COUCHBASE_ENTERPRISE

CBLClient/Apps/CBLTestServer-iOS/CBLTestServer-iOS/Server/PredictiveQueriesRequestHandler.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@ public class PredictiveQueriesRequestHandler {
127127
default:
128128
throw RequestHandlerError.MethodNotFound(method)
129129
}
130+
return PredictiveQueriesRequestHandler.VOID
130131
}
131132

132133
}

0 commit comments

Comments
 (0)