Skip to content

Commit 63265cb

Browse files
Handle errors when fetching states fail
1 parent aab4cce commit 63265cb

1 file changed

Lines changed: 16 additions & 3 deletions

File tree

Paystack/PSTCKAPIClientExtension.swift

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,15 +16,13 @@ import Foundation
1616
request.httpMethod = "GET"
1717
URLSession.shared.dataTask(with: request, completionHandler: { data, response, error in
1818
guard let data = data, error == nil else {
19-
print(error?.localizedDescription ?? "No data")
2019
completion([PSTCKState](), error)
2120
return
2221
}
2322
let responseJSON = try? JSONSerialization.jsonObject(with: data, options: [])
2423
if let responseJSON = responseJSON as? [String: Any] {
25-
print(responseJSON)
2624
guard responseJSON["status"] as? Bool == true else {
27-
print(responseJSON["message"] as? String ?? "Message is nil")
25+
completion([PSTCKState](), StringError(responseJSON["message"] as? String ?? "Could not fetch issuing country states"))
2826
return
2927
}
3028
if let data = responseJSON["data"] as? [[String : Any]] {
@@ -56,5 +54,20 @@ import Foundation
5654
}
5755
}
5856

57+
struct StringError : LocalizedError {
58+
var errorDescription: String? { return errorMessage }
59+
var failureReason: String? { return errorMessage }
60+
var recoverySuggestion: String? { return "" }
61+
var helpAnchor: String? { return "" }
62+
63+
private var errorMessage : String
64+
65+
init(_ description: String)
66+
{
67+
errorMessage = description
68+
}
69+
}
70+
71+
5972

6073

0 commit comments

Comments
 (0)