Skip to content

Commit d1f8f25

Browse files
authored
Implement error handling
Signed-off-by: Dave Nicolson <david.nicolson@gmail.com>
1 parent 7efe511 commit d1f8f25

1 file changed

Lines changed: 8 additions & 1 deletion

File tree

AltSign/Sources/ALTAppleAPI+Authentication.swift

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,9 +219,16 @@ private extension ALTAppleAPI {
219219

220220
let request = makeTwoFactorCodeRequest(url: requestURL, dsid: dsid, idmsToken: idmsToken, anisetteData: anisetteData)
221221

222-
let requestCodeTask = session.dataTask(with: request) { data, _, error in
222+
let requestCodeTask = session.dataTask(with: request) { _, response, error in
223223
do {
224224
guard error == nil else { throw error! }
225+
guard let httpResponse = response as? HTTPURLResponse, (200...299).contains(httpResponse.statusCode) else {
226+
throw NSError(
227+
domain: ALTUnderlyingAppleAPIErrorDomain,
228+
code: NSURLErrorBadServerResponse,
229+
userInfo: [NSLocalizedDescriptionKey: "Unable to send a verification code to your trusted devices."]
230+
)
231+
}
225232

226233
func responseHandler(verificationCode: String?) {
227234
do {

0 commit comments

Comments
 (0)