21 lines
520 B
Swift
21 lines
520 B
Swift
import Foundation
|
|
|
|
public actor InstanceSessionStore {
|
|
private var cookies: [UUID: (origin: URL, cookie: String)] = [:]
|
|
|
|
public init() {}
|
|
|
|
public func cookie(for id: UUID, origin: URL) -> String? {
|
|
guard let value = cookies[id], value.origin == origin else { return nil }
|
|
return value.cookie
|
|
}
|
|
|
|
public func set(_ id: UUID, origin: URL, cookie: String) {
|
|
cookies[id] = (origin, cookie)
|
|
}
|
|
|
|
public func clear(_ id: UUID) {
|
|
cookies.removeValue(forKey: id)
|
|
}
|
|
}
|