İstek hataları için (ve ideal olarak başarılar için de) HTTP yanıt durum kodunu (ör. 400, 401, 403, 503, vb.) Almak istiyorum. Bu kodda, HTTP Temel ile kullanıcı kimlik doğrulaması yapıyorum ve kullanıcı parolasını yanlış yazdığında kimlik doğrulamasının başarısız olduğu konusunda kullanıcıya mesaj gönderebilmek istiyorum.
Alamofire.request(.GET, "https://host.com/a/path").authenticate(user: "user", password: "typo")
.responseString { (req, res, data, error) in
if error != nil {
println("STRING Error:: error:\(error)")
println(" req:\(req)")
println(" res:\(res)")
println(" data:\(data)")
return
}
println("SUCCESS for String")
}
.responseJSON { (req, res, data, error) in
if error != nil {
println("JSON Error:: error:\(error)")
println(" req:\(req)")
println(" res:\(res)")
println(" data:\(data)")
return
}
println("SUCCESS for JSON")
}
Maalesef, üretilen hata 409 HTTP durum kodunun gerçekten alındığını göstermiyor:
STRING Error:: error:Optional(Error Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo=0x7f9beb8efce0 {NSErrorFailingURLKey=https://host.com/a/path, NSLocalizedDescription=cancelled, NSErrorFailingURLStringKey=https://host.com/a/path})
req:<NSMutableURLRequest: 0x7f9beb89d5e0> { URL: https://host.com/a/path }
res:nil
data:Optional("")
JSON Error:: error:Optional(Error Domain=NSURLErrorDomain Code=-999 "cancelled" UserInfo=0x7f9beb8efce0 {NSErrorFailingURLKey=https://host.com/a/path, NSLocalizedDescription=cancelled, NSErrorFailingURLStringKey=https://host.com/a/path})
req:<NSMutableURLRequest: 0x7f9beb89d5e0> { URL: https://host.com/a/path }
res:nil
data:nil
Ek olarak, bir hata oluştuğunda HTTP gövdesini almak güzel olurdu çünkü sunucu tarafım oraya hatanın metinsel bir tanımını koyacak.
Sorular
2xx olmayan bir yanıtta durum kodunu almak mümkün müdür?
2xx yanıtı üzerine özel durum kodunu almak mümkün müdür?
2xx olmayan bir yanıt üzerine HTTP gövdesini almak mümkün müdür?
Teşekkürler!