@@ -70,21 +70,33 @@ extension DependencyContainerProtocol {
70
70
networkSession: networkSession,
71
71
deviceMetadata: deviceMetadata,
72
72
dateProvider: dateProvider)
73
- if let persistenceContextProvider = createPersistenceContextProvider ( ) {
73
+ lazy var offlineProcessor : OfflineRequestProcessor ? = nil
74
+ lazy var healthMonitor : HealthMonitor ? = nil
75
+ guard let persistenceContextProvider = createPersistenceContextProvider ( ) else {
76
+ return RequestHandler ( onlineProcessor: onlineProcessor,
77
+ offlineProcessor: nil ,
78
+ healthMonitor: nil ,
79
+ offlineMode: offlineMode)
80
+ }
81
+ if offlineMode {
82
+
74
83
let healthMonitorDataProvider = createHealthMonitorDataProvider ( persistenceContextProvider: persistenceContextProvider)
75
- let healthMonitor = HealthMonitor ( dataProvider: healthMonitorDataProvider,
76
- dateProvider: dateProvider,
77
- networkSession: networkSession)
78
- let offlineProcessor = OfflineRequestProcessor ( apiKey: apiKey,
79
- authProvider: authProvider,
80
- authManager: authManager,
81
- endpoint: endpoint,
82
- deviceMetadata: deviceMetadata,
83
- taskScheduler: createTaskScheduler ( persistenceContextProvider: persistenceContextProvider,
84
- healthMonitor: healthMonitor) ,
85
- taskRunner: createTaskRunner ( persistenceContextProvider: persistenceContextProvider,
86
- healthMonitor: healthMonitor) ,
87
- notificationCenter: notificationCenter)
84
+
85
+ healthMonitor = HealthMonitor ( dataProvider: healthMonitorDataProvider,
86
+ dateProvider: dateProvider,
87
+ networkSession: networkSession)
88
+ offlineProcessor = OfflineRequestProcessor ( apiKey: apiKey,
89
+ authProvider: authProvider,
90
+ authManager: authManager,
91
+ endpoint: endpoint,
92
+ deviceMetadata: deviceMetadata,
93
+ taskScheduler: createTaskScheduler ( persistenceContextProvider: persistenceContextProvider,
94
+ healthMonitor: healthMonitor!) ,
95
+ taskRunner: createTaskRunner ( persistenceContextProvider: persistenceContextProvider,
96
+ healthMonitor: healthMonitor!) ,
97
+ notificationCenter: notificationCenter)
98
+
99
+
88
100
return RequestHandler ( onlineProcessor: onlineProcessor,
89
101
offlineProcessor: offlineProcessor,
90
102
healthMonitor: healthMonitor,
0 commit comments