Мне любопытно, какой формат чанкованных данных подходит по сравнению со спецификацией и что Twitter возвращает из потока своих действий.
При использовании curl для получения потока Chunked из Twitter, curl сообщает:
~$ curl -v https://stream.twitter.com/1/statuses/sample.json?delimited=length -u ...:...
< HTTP/1.1 200 OK
< Content-Type: application/json
< Transfer-Encoding: chunked
<
1984
{"place":null,"text":...
1984
{"place":null,"text":...
1984
{"place":null,"text":...
Я написал источник данных в виде фрагментов на основе информации Википедии и спецификации HTTP (по сути: \ r \ n \ r \ n), и мой результат выглядит следующим образом:
~$ curl -vN http://localhost:7080/stream
< HTTP/1.1 200 OK
< Content-Type: application/json; charset=UTF-8
< Transfer-Encoding: chunked
<
{"foo":{"bar":...
{"foo":{"bar":...
{"foo":{"bar":...
Разница в том, что кажется, что Twitter включает длину строки как часть тела чанка как целое число (в сочетании со значением в шестнадцатеричном формате, которое также должно быть там), и я хотел убедиться, что что я чего-то не пропустил. В документах Twitter не упоминается значение длины, оно отсутствует в их примерах , и я ничего не вижу в спецификации.