@@ -103,6 +103,8 @@ open class WordPressComRestApi: NSObject {
103103
104104 private var invalidTokenHandler : ( ( ) -> Void ) ?
105105
106+ private var useEphemeralSession : Bool
107+
106108 /**
107109 Configure whether or not the user's preferred language locale should be appended. Defaults to true.
108110 */
@@ -139,14 +141,16 @@ open class WordPressComRestApi: NSObject {
139141 backgroundSessionIdentifier: String = WordPressComRestApi . defaultBackgroundSessionIdentifier,
140142 sharedContainerIdentifier: String ? = nil ,
141143 localeKey: String = WordPressComRestApi . LocaleKeyDefault,
142- baseURL: URL = WordPressComRestApi . apiBaseURL) {
144+ baseURL: URL = WordPressComRestApi . apiBaseURL,
145+ useEphemeralSession: Bool = false ) {
143146 self . oAuthToken = oAuthToken
144147 self . userAgent = userAgent
145148 self . backgroundUploads = backgroundUploads
146149 self . backgroundSessionIdentifier = backgroundSessionIdentifier
147150 self . sharedContainerIdentifier = sharedContainerIdentifier
148151 self . localeKey = localeKey
149152 self . baseURL = baseURL
153+ self . useEphemeralSession = useEphemeralSession
150154
151155 super. init ( )
152156 }
@@ -347,7 +351,14 @@ open class WordPressComRestApi: NSObject {
347351 } ( )
348352
349353 private func sessionConfiguration( background: Bool ) -> URLSessionConfiguration {
350- let configuration = background ? URLSessionConfiguration . background ( withIdentifier: self . backgroundSessionIdentifier) : URLSessionConfiguration . default
354+ let configuration : URLSessionConfiguration
355+ if background {
356+ configuration = . background( withIdentifier: self . backgroundSessionIdentifier)
357+ } else if useEphemeralSession {
358+ configuration = . ephemeral
359+ } else {
360+ configuration = . default
361+ }
351362
352363 var additionalHeaders : [ String : AnyObject ] = [ : ]
353364 if let oAuthToken = self . oAuthToken {
0 commit comments