diff --git a/MVMCore/MVMCore/LoadHandling/MVMCoreLoadHandler.h b/MVMCore/MVMCore/LoadHandling/MVMCoreLoadHandler.h index 6a1c1c9..05089cf 100644 --- a/MVMCore/MVMCore/LoadHandling/MVMCoreLoadHandler.h +++ b/MVMCore/MVMCore/LoadHandling/MVMCoreLoadHandler.h @@ -35,6 +35,8 @@ #pragma mark - Request Functions. +- (void)setHeadersForRequest:(nonnull NSMutableURLRequest *)request requestParameters:(nonnull MVMCoreRequestParameters *)requestParameters; + // Creates a request object with the given parameters. - (nullable NSURLRequest *)requestWithParameters:(nonnull MVMCoreRequestParameters *)requestParameters error:(MVMCoreErrorObject *_Nonnull *_Nonnull)error; diff --git a/MVMCore/MVMCore/LoadHandling/MVMCoreLoadHandler.m b/MVMCore/MVMCore/LoadHandling/MVMCoreLoadHandler.m index bc1056d..e5931ea 100644 --- a/MVMCore/MVMCore/LoadHandling/MVMCoreLoadHandler.m +++ b/MVMCore/MVMCore/LoadHandling/MVMCoreLoadHandler.m @@ -35,15 +35,7 @@ @implementation MVMCoreLoadHandler + (nullable instancetype)sharedGlobal { - static dispatch_once_t once; - static id sharedInstance; - - dispatch_once(&once, ^ - { - sharedInstance = [[self alloc] init]; - }); - - return sharedInstance; + return [MVMCoreActionUtility initializerClassCheck:[MVMCoreObject sharedInstance].loadHandler classToVerify:self]; } - (instancetype)init { @@ -234,7 +226,7 @@ return boundary; } -- (void)setHeadersForRequest:(NSMutableURLRequest *)request requestParameters:(MVMCoreRequestParameters *)requestParameters { +- (void)setHeadersForRequest:(nonnull NSMutableURLRequest *)request requestParameters:(nonnull MVMCoreRequestParameters *)requestParameters { [request setHTTPMethod:@"POST"]; [request setValue:@"no-cache, no-store" forHTTPHeaderField:@"Cache-Control"]; diff --git a/MVMCore/MVMCore/Singletons/MVMCoreObject.h b/MVMCore/MVMCore/Singletons/MVMCoreObject.h index 26013a3..f7ad479 100644 --- a/MVMCore/MVMCore/Singletons/MVMCoreObject.h +++ b/MVMCore/MVMCore/Singletons/MVMCoreObject.h @@ -17,6 +17,7 @@ #import #import #import +#import @interface MVMCoreObject : NSObject @@ -25,6 +26,7 @@ @property (nullable, strong, nonatomic) MVMCoreViewControllerMappingObject *viewControllerMapping; @property (nullable, strong, nonatomic) MVMCoreActionHandler *actionHandler; @property (nullable, strong, nonatomic) MVMCoreSessionTimeHandler *sessionHandler; +@property (nullable, strong, nonatomic) MVMCoreLoadHandler *loadHandler; // The delegates @property (nullable, strong, nonatomic) id globalLoadDelegate; diff --git a/MVMCore/MVMCore/Singletons/MVMCoreObject.m b/MVMCore/MVMCore/Singletons/MVMCoreObject.m index 40d0732..8ad4cb5 100644 --- a/MVMCore/MVMCore/Singletons/MVMCoreObject.m +++ b/MVMCore/MVMCore/Singletons/MVMCoreObject.m @@ -26,6 +26,7 @@ self.sessionHandler = [[MVMCoreSessionTimeHandler alloc] init]; self.actionHandler = [[MVMCoreActionHandler alloc] init]; self.loggingDelegate = [[MVMCoreLoggingHandler alloc] init]; + self.loadHandler = [[MVMCoreLoadHandler alloc] init]; } @end