Кодирование RestKit и Chunked Transfer

Поддерживает ли RestKit кодирование групповой передачи? Вроде нет, но может я что-то упускаю.

Если у меня есть следующий заголовок для ответа, который я получаю:

HTTP/1.1 200 OK
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8
.....

и ответ выглядит так:

2289
{ "firstParam": "firstValue", "secondParam":"secondValue"}
0

Можно ли использовать RestKit для автоматического сопоставления этого json в ответе на мои объекты? Если нет, то что я могу использовать вместо этого?


person Dmitry Khryukin    schedule 24.09.2013    source источник


Ответы (1)


RestKit предлагает несколько вариантов взаимодействия с запросами, которые фактически будут отправлены. Например, вы можете использовать requestWithObject:method:path:parameters:, чтобы получить NSMutableURLRequest и установить нужные заголовки. Затем используйте objectRequestOperationWithRequest:success:failure: (или эквивалент управляемого объекта), чтобы сгенерировать операцию, которую можно запустить для выполнения запроса.

person Wain    schedule 24.09.2013
comment
извините.. не могу понять, как ваш ответ связан с моим вопросом. - person Dmitry Khryukin; 24.09.2013
comment
Просто перечитайте свой вопрос. Я думал, вы имели в виду отправить запрос с разбивкой на части и получить ответ. Вы пробовали получить ответ в виде фрагмента? Это должно быть прозрачно обработано NSURLConnection (вы ничего не должны знать об этом)... - person Wain; 24.09.2013
comment
да, мне нужно получить фрагментированный ответ. Я пытался это сделать. но RestKit не может понять этот формат. - person Dmitry Khryukin; 25.09.2013
comment
Предположительно, данные вашего ответа фактически умещаются в один блок. В некоторых случаях не будет? NSURLConnection, кажется, работает с чанками. Показанный вами ответ не является допустимым JSON, поэтому RestKit это не понравится... - person Wain; 25.09.2013
comment
да, это недопустимый JSON. Это проблема. но похоже, что это правильный ответ для кодирования фрагментированной передачи. понятия не имею, сколько кусков я могу иметь. - person Dmitry Khryukin; 25.09.2013
comment
Хм, я думал, что размер чанка указан в заголовке, но нет. Есть ли у вас возможность сменить сервер? В настоящее время вам нужно изменить код AFNetworking, чтобы справиться с этим. - person Wain; 25.09.2013
comment
проблема в том, что код сервера не находится под нашим контролем. мы попросили убрать это пока, а разработчиков сервисов что бы вернуть обратно в будущем. так что .. мне нужно как-то это решить. и теперь похоже, что это займет довольно много времени. надеюсь, я просто пропустил какое-то простое решение - person Dmitry Khryukin; 25.09.2013
comment
в любом случае @Wain спасибо за попытку помочь! по крайней мере, я обсуждал это с вами. - person Dmitry Khryukin; 27.09.2013