Я переключаюсь с ASIHTTPRequest
на AFNetworking
в приложении для iOS.
RF2616 (HTTP/1.1) определяет "статус -line» комбинацией «Код состояния» и «Фраза причины». Иногда сервер добавляет некоторую конкретную информацию в эту «Фразу причины», и я нашел довольно удобным то, что ASIHTTPRequest позволил мне легко получить к ней доступ через
ASIHTTPRequest *request = ...;
NSString *reason = request.responseStatusMessage;
Моя проблема в том, что я не могу найти способ сделать это с помощью AFHTTPRequestOperation
NSMutableURLRequest *request = ...;
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
В обоих блоках завершения/сбоя операции я могу получить код состояния, выполнив:
int statusCode = [operation.response statusCode];
Но я не могу найти, где взять «Фразу разума».
Некоторые ответы на StackOverflow предполагают, что он будет находиться в одной из записей [operation.response allHeaderFields]
, но это не так.
Ответ на этот вопрос ‹‹ может При доступе к фразе причины из строки состояния HTTP в NSHTTPURLResponse >> предлагается изменить поведение сервера, но это не всегда доступно.
Есть идеи?