Нам надо в новой версии мерять входы на вебапликацию в веблоджике. Т.е. приходит запрос, ГЕТ или ПОСТ, мы смотри - подходит ли он под один из шаблонов и если да то меряем сколько он занял. Кроме того нам надо в каждый ХТМЛ сзади вставить (хм ... сорри) наш Java Script.
Существует решение этой задачи методами инструментации байт кода - нашли сервлеты, иснтрументировали, вызвали наши методы. даже там, с инструментацией, где возможно всё, добавить что то в респонс статического ХТМЛя было сложной задачей (не мной решенной).
А теперь возникла идея сделать это всё без инструментации, только HTTP фильтрами.
Сначала надо было фильтры поставить - это для меня оказалось не сложной задачей - посмотреел в соурсах веблоджика где они хранятся, полез во нутренние структуры данных и рефлекшном поставил свой фильтр (предварительно в ран тайме добавив его в класпас). Конечно это бандитизм, но в рамках национального консенсуса.
Потом добавил что надо в response сервлета.
Потом обнаружил, что в случае статического файла, внутрений сервлет веблоджика отправляет фай на сокет и закрывает стрим, так что потом уже я ничего добавить не могу.
И неделю я бился над тем, как изменяя поля классов (у меня только рефлекшн, нетиснтрументации) изменить флоу так, чтобы стрим не закрыли и я мог добавить что то свое. да еще и Content-Length исправить.
И мне сегодня это удалось!