Home

8 Фев, 2008

Perl. POE. POE::Component::Client::HTTP bugs.

POE::Component::Client::HTTP. Bugs.

1. Не умеет обрабатывать пустой ответ сервера, если запрос не HEAD.
Например, nginx отвечает на PUT-запросы без содержимого, HTTP-клиент данный ответ не верно обрабатывает, и возращает ошибку - 406 Response larger than MaxSize.

2. Некорректно работает с HTTP::Request, если содержимое запроса - анонимная функция, которая позволяет читать содержимое из дескриптора.

Если тело запроса пустое, т.е. передаваемый файл пустой, то длина такого запроса равна 0, но содержимое читаем из функции, то HTTP-клиент понимает это не верно, думает, что тело запроса не функция, а строка - 'CODE(...)', длина которой равна 15 и исправляет длину всего запроса на 15. После чего такой запрос клиент не может отправить, возращая ошибку - 400 Bad Request. Если тело запроса НЕ пустое, то все работает нормально, как и должно :)

LWP::UserAgent такой HTTP::Request корректно обрабатывает, а POE::Component::Client::HTTP нет, хотя в доке заявлена поддержка анонимных функций в качестве тела запроса.


Вот такие баги :)
sharifulin

Декабрь 2009

Вс Пн Вт Ср Чт Пт Сб
  12345
6789101112
13141516171819
20212223242526
2728293031  

Реклама

Метки

На этой странице

Трансляция

RSS Atom
Разработано LiveJournal.com