2010-11-09 4 views
4

Примечание: мы используем lib_neon на стороне клиента и Tomcat и сервлет api на стороне сервера.Как проверить, можно ли выполнить PUT перед отправкой тела запроса?

Проблема заключается в следующем: когда клиент хочет разместить некоторый контент, он выполняет запрос PUT с заголовком «Ожидание: 100-продолжить», Tomcat обрабатывает его, просто возвращая статус 100 Продолжить, и после этого клиент начнет отправлять оставшуюся часть запроса, и он обрабатывается нашими настраиваемыми фильтрами, и часто он не проходит (например, пользователь не авторизован или пытается помещать слишком большой файл, превышающий лимит пользователей или что-то еще). Фильтр отправляет сообщение об ошибке, но клиент считывает ответ только после того, как завершен полный орган запроса.

Похоже, что невозможно отправить что-то вручную вместо статуса 100 Continue, когда некоторая проверка завершилась неудачно, и это поведение жестко запрограммировано в tomcat, есть ли другой способ не загружать тело запроса, когда это невозможно?

+0

Решено путем миграции на пристань –

ответ

6

Вам нужен контейнер сервлетов с более рациональным управлением 100-продолжительностью (я считаю, что причал подходит).

Я не могу поверить, что это разъяснение по-прежнему не является частью спецификации сервлета; По-моему, я просил об этом примерно 7 лет назад.

+0

Да, причал помог, даже не изменив код. Спасибо. –

Смежные вопросы