Posso acessar a "Frase de razão" da linha de status HTTP em NSHTTPURLResponse

RFC 2616 especificando HTTP diz - na seção 6.1.1 - que parte da Linha de Status é um Código de Status numérico de 3 dígitos E uma "Frase de Razão" textual .

Estou construindo um aplicativo para iPhone, que está usando NSURLConnection para acessar dados sobre HTTP. Posso obter o código de status HTTP sem problemas, mas como posso acessar a "Frase do motivo"?

Aqui está minha conexão: didReceiveResponse: método

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response;

    httpStatusCode = [httpResponse statusCode];
    // Reason Phrase ??
}

Para ser específico, NÃO quero dizer a "explicação do que é um código xxx significa "texto. Posso pesquisar isso no RFC e esses são estáticos. Refiro-me ao texto que o servidor produziu na linha de status. Um exemplo de tal linha de status seria:

HTTP/1.1 412 ClientAppVersion: 0.10 < 0.11

e a Frase de Razão seria "ClientAppVersion: 0.10 <0.11" aqui.

Este exemplo também dá uma dica do que estou tentando fazer. Estou construindo uma API semelhante a REST e, como tal, devo usar os códigos de status HTTP para indicar erros. Mas os códigos de status HTTP foram inventados para HTTP e não para meu aplicativo, então tento colocar informações extras na frase de razão.

6
задан polesen 16 June 2011 в 13:23
поделиться