@@ -34,12 +34,8 @@ public class AlamofireNetwork: Network {
3434 /// authentication mode for requests
3535 public private( set) var authenticationMode : RequestAuthenticationMode ?
3636
37- /// Lazy-initialized session manager. Use ensuresSessionManagerIsInitialized=true to avoid race conditions with concurrent requests.
38- private lazy var alamofireSession : Alamofire . Session = {
39- let sessionConfiguration = URLSessionConfiguration . default
40- let sessionManager = makeSession ( configuration: sessionConfiguration)
41- return sessionManager
42- } ( )
37+ /// Session manager used for Alamofire requests.
38+ private let alamofireSession : Alamofire . Session
4339
4440 private let credentials : Credentials ?
4541
@@ -71,14 +67,11 @@ public class AlamofireNetwork: Network {
7167 /// - selectedSite: Publisher for site selection changes.
7268 /// This is necessary if you wish to enable network switching to direct requests while authenticated with WPCOM for better performance.
7369 /// - sessionManager: Optional pre-configured session manager.
74- /// - ensuresSessionManagerIsInitialized: If true, the session is always set during initialization immediately to avoid lazy initialization race conditions.
75- /// Defaults to false for backward compatibility. Set to true when making concurrent requests immediately after initialization.
7670 public required init ( credentials: Credentials ? ,
7771 selectedSite: AnyPublisher < JetpackSite ? , Never > ? ,
7872 appPasswordSupportState: AnyPublisher < Bool , Never > ? ,
7973 userDefaults: UserDefaults = . standard,
80- sessionManager: Alamofire . Session ? = nil ,
81- ensuresSessionManagerIsInitialized: Bool = false ) {
74+ sessionManager: Alamofire . Session ? = nil ) {
8275 self . credentials = credentials
8376 self . selectedSite = selectedSite
8477 self . userDefaults = userDefaults
@@ -96,11 +89,12 @@ public class AlamofireNetwork: Network {
9689 } ( )
9790 return RequestConverter ( siteAddress: siteAddress)
9891 } ( )
99- self . requestAuthenticator = RequestProcessor ( requestAuthenticator: DefaultRequestAuthenticator ( credentials: credentials) )
92+ let requestAuthenticator = RequestProcessor ( requestAuthenticator: DefaultRequestAuthenticator ( credentials: credentials) )
93+ self . requestAuthenticator = requestAuthenticator
10094 if let sessionManager {
10195 self . alamofireSession = sessionManager
102- } else if ensuresSessionManagerIsInitialized {
103- self . alamofireSession = makeSession ( configuration: URLSessionConfiguration . default)
96+ } else {
97+ self . alamofireSession = Alamofire . Session ( configuration: . default, interceptor : requestAuthenticator )
10498 }
10599
106100 let authenticationMode : RequestAuthenticationMode ? = {
@@ -294,12 +288,6 @@ private extension AlamofireNetwork {
294288 }
295289 }
296290
297- /// Creates a session manager with request retrier and adapter
298- ///
299- func makeSession( configuration sessionConfiguration: URLSessionConfiguration ) -> Alamofire . Session {
300- Alamofire . Session ( configuration: sessionConfiguration, interceptor: requestAuthenticator)
301- }
302-
303291 /// Updates `requestConverter` and `requestAuthenticator` when selected site changes
304292 ///
305293 func observeSelectedSite( _ selectedSite: AnyPublisher < JetpackSite ? , Never > ) {
0 commit comments