From fe83ee7b72598d8b7c3282af1e39bb208f4a4202 Mon Sep 17 00:00:00 2001 From: Tony Li Date: Tue, 28 Jan 2025 21:02:04 +1300 Subject: [PATCH 1/2] Add an argument to use ephemeral URLSession to send WP.com API requests --- Sources/CoreAPI/WordPressComRestApi.swift | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/Sources/CoreAPI/WordPressComRestApi.swift b/Sources/CoreAPI/WordPressComRestApi.swift index 8b96fb32..17b476ef 100644 --- a/Sources/CoreAPI/WordPressComRestApi.swift +++ b/Sources/CoreAPI/WordPressComRestApi.swift @@ -103,6 +103,8 @@ open class WordPressComRestApi: NSObject { private var invalidTokenHandler: (() -> Void)? + private var useEphemeralSession: Bool + /** Configure whether or not the user's preferred language locale should be appended. Defaults to true. */ @@ -139,7 +141,8 @@ open class WordPressComRestApi: NSObject { backgroundSessionIdentifier: String = WordPressComRestApi.defaultBackgroundSessionIdentifier, sharedContainerIdentifier: String? = nil, localeKey: String = WordPressComRestApi.LocaleKeyDefault, - baseURL: URL = WordPressComRestApi.apiBaseURL) { + baseURL: URL = WordPressComRestApi.apiBaseURL, + useEphemeralSession: Bool = false) { self.oAuthToken = oAuthToken self.userAgent = userAgent self.backgroundUploads = backgroundUploads @@ -147,6 +150,7 @@ open class WordPressComRestApi: NSObject { self.sharedContainerIdentifier = sharedContainerIdentifier self.localeKey = localeKey self.baseURL = baseURL + self.useEphemeralSession = useEphemeralSession super.init() } @@ -347,7 +351,14 @@ open class WordPressComRestApi: NSObject { }() private func sessionConfiguration(background: Bool) -> URLSessionConfiguration { - let configuration = background ? URLSessionConfiguration.background(withIdentifier: self.backgroundSessionIdentifier) : URLSessionConfiguration.default + let configuration: URLSessionConfiguration + if background { + configuration = .background(withIdentifier: self.backgroundSessionIdentifier) + } else if useEphemeralSession { + configuration = .ephemeral + } else { + configuration = .default + } var additionalHeaders: [String: AnyObject] = [:] if let oAuthToken = self.oAuthToken { From 253b6954f9676a3b10910c24f14231130cad2284 Mon Sep 17 00:00:00 2001 From: Tony Li Date: Tue, 28 Jan 2025 21:11:25 +1300 Subject: [PATCH 2/2] Update binary target --- Package.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Package.swift b/Package.swift index 55324dd4..b7b5df79 100644 --- a/Package.swift +++ b/Package.swift @@ -11,8 +11,8 @@ let package = Package( targets: [ .binaryTarget( name: "WordPressKit", - url: "https://github.com/user-attachments/files/18379301/WordPressKit.zip", - checksum: "afd882de3a6a672c32c6cc7e6e1c1e68ff4e1366e7613af4eab59415ed7abb59" + url: "https://github.com/user-attachments/files/18570063/WordPressKit.zip", + checksum: "fc25d3065e80af713dac970db7ed89ff37e4cc98afc98b6a2ecf7b47b2ddd0c1" ), ] )