I use couchbase-lite-ios with CBLIncrementalStore.
What’s the best practice with a replication when a cookie expires ? When creating a replication, I use this method with my cookie :
- (void) setCookieNamed: (NSString*)name
withValue: (NSString*)value
path: (NSString*)path
expirationDate: (NSDate*)expirationDate
secure: (BOOL)secure;
When the replication fails with a 401 unauthorized
error, I call stop
on the replication, then I set the new cookie with the previous method, and finally I call start
on my replication.
The replication restarts well as you can see these messages :
Pull replication: status = 2, progress = 10 / 10, err = (null)
Push replication: status = 2, progress = 6 / 6, err = (null)
But just after I got this warning :
WARNING: CBLRestPuller["http://x.x.x.x:4984/database"]:
Unable to save remote checkpoint: Error Domain=CBLHTTP Code=401 "401 unauthorized" UserInfo=0x7bff24b0
{NSURL="http://x.x.x.x:4984/database/_local/34c763dcd9ef390ee4c763a4e02da675d503166c", NSLocalizedFailureReason=unauthorized, NSLocalizedDescription=401 unauthorized}
Why replications success and this _local
fail ?
Does the CBLReplication
needs to be deallocated and instantiate with the new cookie ?
I set a 60s ttl
on my development environment to see what happens in production when cookie expires, and I saw that.
Is it a problem ? Do I have to create an infinite token to get this problem away ?
Thanks