@@ -14,7 +14,9 @@ struct Session: Codable {
14
14
var accessToken : String ?
15
15
var expiry : Date ?
16
16
17
- var isValid : Bool { [ uid, accessToken, client] . allSatisfy { $0 != nil } }
17
+ var isValid : Bool {
18
+ [ uid, accessToken, client] . allSatisfy { !( $0 ?? " " ) . isEmpty }
19
+ }
18
20
19
21
private enum CodingKeys : String , CodingKey {
20
22
case uid
@@ -33,18 +35,15 @@ struct Session: Codable {
33
35
self . expiry = expires
34
36
}
35
37
36
- init ? ( headers: [ String : Any ] ) {
37
- var loweredHeaders = headers
38
- loweredHeaders. lowercaseKeys ( )
39
- guard let stringHeaders = loweredHeaders as? [ String : String ] else {
40
- return nil
41
- }
42
- if let expiryString = stringHeaders [ APIClient . HTTPHeader. expiry. rawValue] ,
38
+ init ? ( headers: [ String : String ] ) {
39
+ var loweredKeysHeaders = headers
40
+ loweredKeysHeaders. lowercaseKeys ( )
41
+ if let expiryString = loweredKeysHeaders [ APIClient . HTTPHeader. expiry. rawValue] ,
43
42
let expiryNumber = Double ( expiryString) {
44
43
expiry = Date ( timeIntervalSince1970: expiryNumber)
45
44
}
46
- uid = stringHeaders [ APIClient . HTTPHeader. uid. rawValue]
47
- client = stringHeaders [ APIClient . HTTPHeader. client. rawValue]
48
- accessToken = stringHeaders [ APIClient . HTTPHeader. token. rawValue]
45
+ uid = loweredKeysHeaders [ APIClient . HTTPHeader. uid. rawValue]
46
+ client = loweredKeysHeaders [ APIClient . HTTPHeader. client. rawValue]
47
+ accessToken = loweredKeysHeaders [ APIClient . HTTPHeader. token. rawValue]
49
48
}
50
49
}
0 commit comments