RKRequestDelegate TotalBytesExpectedToReceive всегда возвращает -1 - PullRequest
0 голосов
/ 04 декабря 2011

Я реализую

-(void)request:(RKRequest *)request didReceivedData:(NSInteger)bytesReceived totalBytesReceived:(NSInteger)totalBytesReceived totalBytesExpectedToReceive:(NSInteger)totalBytesExpectedToReceive {
    NSLog(@"totalBytesExpectedToReceive = [%i]  :  totalBytesReceived = [%i]", totalBytesExpectedToReceive, totalBytesReceived);
}

Но я правильно получаю только totalBytesReceived. totalBytesExpectedToReceive всегда возвращает -1.

В чем может быть проблема?

Спасибо

Шани

1 Ответ

1 голос
/ 04 декабря 2011

RestKit использует Content-Length HTTP-заголовок, отправленный в ответе для определения ожидаемой длины. Я рекомендую вам установить уровень трассировки в вашем AppDelegate:

RKLogConfigureByName("RestKit/*", RKLogLevelTrace);

и найдите заголовки в вашем журнале. Посмотрите на утверждение, как это

2011-12-04 17:00:36.564 XXXXXX[56816:15803] D restkit.network:RKResponse.m:197 Headers: {
    Connection = "Keep-Alive";
    "Content-Disposition" = "inline; filename=xxxx.xml";
    "Content-Encoding" = gzip;
    "Content-Length" = 391;
    "Content-Type" = "application/xml";
    Date = "Sun, 04 Dec 2011 16:00:36 GMT";
    "Keep-Alive" = "timeout=15, max=100";
    Server = "Apache/2.2.14 (Ubuntu)";
    Vary = "Accept-Encoding";
}

если в вашем выводе отсутствует "Content-Length", RestKit не сможет сообщить вам, сколько данных ожидается.

...