<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">2015-12-11 16:51 GMT+03:00 Oleg Alistratov <span dir="ltr"><<a href="mailto:ali@ali.org.ua" target="_blank">ali@ali.org.ua</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><br>
11.12.2015, 15:36, "Павел Купцов" <<a href="mailto:pavel@kuptsov.info">pavel@kuptsov.info</a>>:<br>
<span class=""><br>
>>«Бесконечно» — это как именно бесконечно? В заголовках ответа есть Content-Length? >Есть, но не соответствует правде? Или нет? Или нет, но внезапно есть Upgrade: >WebSocket? ;)<br>
>>Если там нормальный документ, просто слишком большой, чтобы его принимать, >достаточно повесить обработчик на on_header и возвращать из него 0, если что-то не >устраивает:<br>
> На заголовки Content-Length рассчитывать не приходится: зачастую неправильные они или вообще их нет.<br>
> В данном конкретно случае content-lenght нет<br>
> Вот этот случай:<br>
> <a href="http://avtorradio.ru/" rel="noreferrer" target="_blank">http://avtorradio.ru/</a><br>
> :))<br>
<br>
</span>Мда, плёхо.<br>
<br>
Ну, поскольку AnyEvent::HTTP сам создает себе AnyEvent::Handle и назначает ему колбеки, то придется его патчить.<br>
Передать собственный on_read в AnyEvent::Handle там, afaik, не получится.<br>
<div class=""><div class="h5"><br></div></div></blockquote><div><br></div><div>my $body = '';</div><div>my $length = 0;</div><div>http_get(</div><div>    '...', <br></div><div>    on_body => sub { $body .= $_[0];  return length($body) > 1024*1024? 0 : 1;  }</div><div>);</div><div><br></div><div>как-то так</div><div><br></div><div>В основном колбеке используем замыкание на внешнее $body. Ничего не меняется. В статусе 598 если обрубился запрос по размеру.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class=""><div class="h5">
<br>
--<br>
Oleg Alistratov<br>
--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" rel="noreferrer" target="_blank">http://moscow.pm.org</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">Best regards, Ruslan.</div>
</div></div>