[Moscow.pm] AnyEvent::HTTP как ограничить размер ответа?

Павел Купцов pavel на kuptsov.info
Пт Дек 11 04:28:50 PST 2015


Коллеги, вот вопрос по теме рассылки есть, т.е. по perl :)

Кто пользует у себя сабж - в частности его метод http_get,
как решаете вопрос с ограничением размера ответа сервера?
А то у меня попадаются в запросах сайты которые бесконечно отдают
text/html, в итоге скрипт не заканчивается по таймауту, а все это дело
принимает в память, что ведет к ее исчерпанию.

Вот на сейчас у меня примерно так:
 http_get $url,

      headers    => {
        'user-agent' => 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36',
      },

      on_header => sub {
      $_[0]{"content-type"} =~ /^text\/html\s*(?:;|$)/
        },

      timeout => 20,

      sub {
        my ( $body, $hdr ) = @_;

        if ( $hdr->{Status} =~ /^2/ ) {
            say "OK";
        }
        else {
            say "Error: $hdr->{Status}";
        }

Пока только вижу вариант с установкой обработчика на on_body - но не нашел
живых примеров. Если подкините немного - мои бесконечные благодарности :)))

--
Павел
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20151211/275bd0f9/attachment-0001.html>


Подробная информация о списке рассылки Moscow-pm