From 8ce879f7b1c20d5ca503d482bde977fc522a8c45 Mon Sep 17 00:00:00 2001 From: Marino Faggiana Date: Sun, 18 May 2025 12:14:14 +0200 Subject: [PATCH 1/3] cookies Signed-off-by: Marino Faggiana --- Sources/NextcloudKit/NextcloudKit+API.swift | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Sources/NextcloudKit/NextcloudKit+API.swift b/Sources/NextcloudKit/NextcloudKit+API.swift index 7dbad3e1..54c8a37b 100644 --- a/Sources/NextcloudKit/NextcloudKit+API.swift +++ b/Sources/NextcloudKit/NextcloudKit+API.swift @@ -506,8 +506,27 @@ public extension NextcloudKit { nkSession.sessionDataNoCache.request(url, method: .get, encoding: URLEncoding.default, headers: headers, interceptor: NKInterceptor(nkCommonInstance: nkCommonInstance)).validate(statusCode: 200..<300).onURLSessionTaskCreation { task in task.taskDescription = options.taskDescription + + if let url = task.currentRequest?.url, + let cookies = HTTPCookieStorage.shared.cookies(for: url) { + print("๐Ÿช Cookies for \(url):") + for cookie in cookies { + print("- \(cookie.name): \(cookie.value)") + } + } + taskHandler(task) }.responseData(queue: self.nkCommonInstance.backgroundQueue) { response in + + if let httpResponse = response.response, + let url = httpResponse.url, + let cookies = HTTPCookieStorage.shared.cookies(for: url) { + print("๐Ÿช Cookies from response for \(url):") + for cookie in cookies { + print("- \(cookie.name): \(cookie.value)") + } + } + if self.nkCommonInstance.levelLog > 0 { debugPrint(response) } From fbf70fb01dd65c71c22302d9320632c3601ba4f6 Mon Sep 17 00:00:00 2001 From: Marino Faggiana Date: Sun, 18 May 2025 12:20:18 +0200 Subject: [PATCH 2/3] cod Signed-off-by: Marino Faggiana --- Sources/NextcloudKit/NextcloudKit+API.swift | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Sources/NextcloudKit/NextcloudKit+API.swift b/Sources/NextcloudKit/NextcloudKit+API.swift index 54c8a37b..f03ee338 100644 --- a/Sources/NextcloudKit/NextcloudKit+API.swift +++ b/Sources/NextcloudKit/NextcloudKit+API.swift @@ -504,6 +504,16 @@ public extension NextcloudKit { return options.queue.async { completion(account, nil, nil, .urlError) } } + if let url = URL(string: nkSession.urlBase) { + let cookieStorage = HTTPCookieStorage.shared + if let cookies = cookieStorage.cookies(for: url) { + for cookie in cookies { + cookieStorage.deleteCookie(cookie) + } + print("๐Ÿงน Cookie cancellati per: \(url)") + } + } + nkSession.sessionDataNoCache.request(url, method: .get, encoding: URLEncoding.default, headers: headers, interceptor: NKInterceptor(nkCommonInstance: nkCommonInstance)).validate(statusCode: 200..<300).onURLSessionTaskCreation { task in task.taskDescription = options.taskDescription From 489d8a712d6f9f3223543f11695f6145f5d5d144 Mon Sep 17 00:00:00 2001 From: Marino Faggiana Date: Sun, 18 May 2025 12:40:24 +0200 Subject: [PATCH 3/3] fix Signed-off-by: Marino Faggiana --- Sources/NextcloudKit/NKSession.swift | 1 + Sources/NextcloudKit/NextcloudKit+API.swift | 29 --------------------- 2 files changed, 1 insertion(+), 29 deletions(-) diff --git a/Sources/NextcloudKit/NKSession.swift b/Sources/NextcloudKit/NKSession.swift index 2a9b169d..abb72c18 100644 --- a/Sources/NextcloudKit/NKSession.swift +++ b/Sources/NextcloudKit/NKSession.swift @@ -75,6 +75,7 @@ public struct NKSession: Sendable { let configurationSessionDataNoCache = URLSessionConfiguration.af.default configurationSessionDataNoCache.requestCachePolicy = .reloadIgnoringLocalAndRemoteCacheData configurationSessionDataNoCache.httpMaximumConnectionsPerHost = httpMaximumConnectionsPerHost + configurationSessionDataNoCache.httpCookieStorage = HTTPCookieStorage.sharedCookieStorage(forGroupContainerIdentifier: sharedCookieStorage) sessionDataNoCache = Alamofire.Session(configuration: configurationSessionDataNoCache, delegate: NextcloudKitSessionDelegate(nkCommonInstance: nkCommonInstance), diff --git a/Sources/NextcloudKit/NextcloudKit+API.swift b/Sources/NextcloudKit/NextcloudKit+API.swift index f03ee338..7dbad3e1 100644 --- a/Sources/NextcloudKit/NextcloudKit+API.swift +++ b/Sources/NextcloudKit/NextcloudKit+API.swift @@ -504,39 +504,10 @@ public extension NextcloudKit { return options.queue.async { completion(account, nil, nil, .urlError) } } - if let url = URL(string: nkSession.urlBase) { - let cookieStorage = HTTPCookieStorage.shared - if let cookies = cookieStorage.cookies(for: url) { - for cookie in cookies { - cookieStorage.deleteCookie(cookie) - } - print("๐Ÿงน Cookie cancellati per: \(url)") - } - } - nkSession.sessionDataNoCache.request(url, method: .get, encoding: URLEncoding.default, headers: headers, interceptor: NKInterceptor(nkCommonInstance: nkCommonInstance)).validate(statusCode: 200..<300).onURLSessionTaskCreation { task in task.taskDescription = options.taskDescription - - if let url = task.currentRequest?.url, - let cookies = HTTPCookieStorage.shared.cookies(for: url) { - print("๐Ÿช Cookies for \(url):") - for cookie in cookies { - print("- \(cookie.name): \(cookie.value)") - } - } - taskHandler(task) }.responseData(queue: self.nkCommonInstance.backgroundQueue) { response in - - if let httpResponse = response.response, - let url = httpResponse.url, - let cookies = HTTPCookieStorage.shared.cookies(for: url) { - print("๐Ÿช Cookies from response for \(url):") - for cookie in cookies { - print("- \(cookie.name): \(cookie.value)") - } - } - if self.nkCommonInstance.levelLog > 0 { debugPrint(response) }