diff --git a/MVMCore/MVMCore/LoadHandling/MVMCoreLoadRequestOperation.m b/MVMCore/MVMCore/LoadHandling/MVMCoreLoadRequestOperation.m index 801f2d0..0afeeba 100644 --- a/MVMCore/MVMCore/LoadHandling/MVMCoreLoadRequestOperation.m +++ b/MVMCore/MVMCore/LoadHandling/MVMCoreLoadRequestOperation.m @@ -686,7 +686,10 @@ if (obj && [obj isKindOfClass:[NSDictionary class]]) { NSDictionary *responseInfo = [obj dict:KeyResponseInfo]; - if (![ValueTypeSuccess isEqualToString:[responseInfo string:KeyType]]) { + //Response Info is missing but errorObject should be created with generic message + code + domain + if (responseInfo == nil) { + errorObject = [[MVMCoreLoadHandler sharedGlobal] errorForLoadObject:loadObject withTitle:nil message:[MVMCoreGetterUtility hardcodedStringWithKey:HardcodedErrorCritical] code:ErrorCodeJSONNotDictionary domain:ErrorDomainServer]; + } else if (![ValueTypeSuccess isEqualToString:[responseInfo string:KeyType]]) { errorObject = [[MVMCoreLoadHandler sharedGlobal] attachLoadInformation:loadObject toError: [[MVMCoreErrorObject alloc] initWithTitle:[responseInfo stringForKey:KeyErrorHeading] @@ -696,7 +699,6 @@ domain:ErrorDomainServer location:[[MVMCoreLoadHandler sharedGlobal] errorLocationForRequest:loadObject]]]; } - // Caches each dictionary from the array. [[MVMCoreCache sharedCache] addModuleToCache:obj module:key queue:nil waitUntilFinished:YES completionBlock:NULL]; } else { diff --git a/MVMCore/MVMCore/Utility/MVMCoreErrorObject.m b/MVMCore/MVMCore/Utility/MVMCoreErrorObject.m index 9cf85b6..fb9a41a 100644 --- a/MVMCore/MVMCore/Utility/MVMCoreErrorObject.m +++ b/MVMCore/MVMCore/Utility/MVMCoreErrorObject.m @@ -23,8 +23,10 @@ // Initialization code self.title = title; self.messageToDisplay = message; + self.messageToLog = message; self.code = code; self.domain = domain; + self.systemDomain = nil; self.location = location; self.date = [NSDate date]; self.silentError = YES; @@ -32,6 +34,11 @@ [MVMCoreDispatchUtility performSyncBlockOnMainThread:^{ self.applicationState = [UIApplication sharedApplication].applicationState; }]; + self.sessionId = nil; + self.requestId = nil; + self.requestUrl = nil; + self.serverResponseInfo = nil; + self.crashLog = nil; } return self; } @@ -41,9 +48,11 @@ if (self = [super init]) { // Initialization code self.title = title; + self.messageToDisplay = nil; self.messageToLog = messageToLog; self.code = code; self.domain = domain; + self.systemDomain = nil; self.location = location; self.date = [NSDate date]; self.silentError = YES; @@ -51,6 +60,11 @@ [MVMCoreDispatchUtility performSyncBlockOnMainThread:^{ self.applicationState = [UIApplication sharedApplication].applicationState; }]; + self.sessionId = nil; + self.requestId = nil; + self.requestUrl = nil; + self.serverResponseInfo = nil; + self.crashLog = nil; } return self; }