Skip to content

Commit cd1458b

Browse files
authored
Add an argument to use ephemeral URLSession to send WP.com API requests (#828)
2 parents a9a057e + 253b695 commit cd1458b

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

Package.swift

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ let package = Package(
1111
targets: [
1212
.binaryTarget(
1313
name: "WordPressKit",
14-
url: "https://github.com/user-attachments/files/18379301/WordPressKit.zip",
15-
checksum: "afd882de3a6a672c32c6cc7e6e1c1e68ff4e1366e7613af4eab59415ed7abb59"
14+
url: "https://github.com/user-attachments/files/18570063/WordPressKit.zip",
15+
checksum: "fc25d3065e80af713dac970db7ed89ff37e4cc98afc98b6a2ecf7b47b2ddd0c1"
1616
),
1717
]
1818
)

Sources/CoreAPI/WordPressComRestApi.swift

+13-2
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)