Skip to content

Commit fedc5db

Browse files
committed
retrieved local datafile if we get a 304 instead of calling callback with nil data
1 parent e8d70e3 commit fedc5db

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

OptimizelySDKDatafileManager/OptimizelySDKDatafileManager/OPTLYDatafileManager.m

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ - (void)downloadDatafile:(NSString *)projectId completionHandler:(OPTLYHTTPReque
9292
else if (statusCode == 304) {
9393
logMessage = [NSString stringWithFormat:OPTLYLoggerMessagesDatafileManagerDatafileNotDownloadedNoChanges, projectId];
9494
[self.logger logMessage:logMessage withLevel:OptimizelyLogLevelDebug];
95+
data = [self getSavedDatafile];
9596
}
9697
else {
9798
// TODO: Josh W. handle bad response
@@ -118,7 +119,20 @@ - (void)saveDatafile:(NSData *)datafile {
118119
data:datafile
119120
type:OPTLYDataStoreDataTypeDatafile
120121
error:&error];
121-
122+
if (error != nil) {
123+
[self.errorHandler handleError:error];
124+
}
125+
}
126+
127+
- (NSData *)getSavedDatafile {
128+
NSError *error;
129+
NSData *datafile = [self.dataStore getFile:self.projectId
130+
type:OPTLYDataStoreDataTypeDatafile
131+
error:&error];
132+
if (error != nil ) {
133+
[self.errorHandler handleError:error];
134+
}
135+
return datafile;
122136
}
123137

124138
- (BOOL)isDatafileCached {

0 commit comments

Comments
 (0)