@@ -14,7 +14,9 @@ struct Session: Codable {
1414 var accessToken : String ?
1515 var expiry : Date ?
1616
17- var isValid : Bool { [ uid, accessToken, client] . allSatisfy { $0 != nil } }
17+ var isValid : Bool {
18+ [ uid, accessToken, client] . allSatisfy { !( $0 ?? " " ) . isEmpty }
19+ }
1820
1921 private enum CodingKeys : String , CodingKey {
2022 case uid
@@ -33,18 +35,15 @@ struct Session: Codable {
3335 self . expiry = expires
3436 }
3537
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] ,
4342 let expiryNumber = Double ( expiryString) {
4443 expiry = Date ( timeIntervalSince1970: expiryNumber)
4544 }
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]
4948 }
5049}
0 commit comments