HTTPCookiesStorage をサブクラス化しましたが、storeCookies() が Cookie を保存することはありませんが、メソッド内で super.storeCookies() を呼び出しています。
カスタムの httpCookiesSession オブジェクトで構成をオーバーライドしない場合、セッションは Cookie を自動的に保存します。私はここでちょっと迷っています。
これは URLSession 呼び出しです
var configration = URLSessionConfiguration.default
//configration.httpCookieStorage = customHTTPCookiesStorage()
let session = URLSession.init(configuration: configration)
if let url = URL.init(string: "https://google.com"){
session.dataTask(with: url) { sip,sap,su in
print(sip,sap,su)
var x = session.configuration.httpCookieStorage?.cookies
}.resume()
}
これがカスタムクラスです
class customHTTPCookiesStorage: HTTPCookieStorage {
override func storeCookies(_ cookies: [HTTPCookie], for task: URLSessionTask) {
super.storeCookies(cookies, for: task)
for cookies in cookies{
session?.session.configuration.httpCookieStorage?.setCookie(cookies)
}
print("This is where cookies are stored")
}
}
更新 1 私の目的は、HTTP 応答ステータスが 401 のときに、Cookie を httpcookiesstore に保存しないことです。