javax_slr (javax_slr) wrote,
javax_slr
javax_slr

Category:

Большой успех

Наверное первый раз на работе за последние 4 года встала передо мной задача из категории "невозможных". Т.е. известно, что это сделать нельзя, а кроме того год назад программист сильнее и умнее меня это пробывал сделать.

Нам надо в новой версии мерять входы на вебапликацию в веблоджике. Т.е. приходит запрос, ГЕТ или ПОСТ, мы смотри - подходит ли он под один из шаблонов и если да то меряем сколько он занял. Кроме того нам надо в каждый ХТМЛ сзади вставить (хм ... сорри) наш Java Script.

Существует решение этой задачи методами инструментации байт кода - нашли сервлеты, иснтрументировали, вызвали наши методы. даже там, с инструментацией, где возможно всё, добавить что то в респонс статического ХТМЛя было сложной задачей (не мной решенной).

А теперь возникла идея сделать это всё без инструментации, только HTTP фильтрами.

Сначала надо было фильтры поставить - это для меня оказалось не сложной задачей - посмотреел в соурсах веблоджика где они хранятся, полез во нутренние структуры данных и рефлекшном поставил свой фильтр (предварительно в ран тайме добавив его в класпас). Конечно это бандитизм, но в рамках национального консенсуса.

Потом добавил что надо в response сервлета.

Потом обнаружил, что в случае статического файла, внутрений сервлет веблоджика отправляет фай на сокет и закрывает стрим, так что потом уже я ничего добавить не могу.

И неделю я бился над тем, как изменяя поля классов (у меня только рефлекшн, нетиснтрументации) изменить флоу так, чтобы стрим не закрыли и я мог добавить что то свое. да еще и Content-Length исправить.
И мне сегодня это удалось!
Tags: programming
Subscribe

Recent Posts from This Journal

  • Причины событий

    Мне очень интересно прослеживать причины вещей. Эдакий эффект бабочки на себе. Когда я заинтересовался историей? Не тогда, когда папа в детссве мне…

  • После работы с детьми

    Я всегда много занимался с детьми. Начиная с рождения Ярона, старался каждый вечер поиграть с ребенком. Даже устраиваясь на работу всегда говорил -…

  • Жена из Самары ...

    В одной ФБ группе обсуждались перевернутые хаммеры и я рассказал: "Один из разов, когда перевернули хаммер был у меня в батальоне. Старослужащие, у…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 15 comments

Recent Posts from This Journal

  • Причины событий

    Мне очень интересно прослеживать причины вещей. Эдакий эффект бабочки на себе. Когда я заинтересовался историей? Не тогда, когда папа в детссве мне…

  • После работы с детьми

    Я всегда много занимался с детьми. Начиная с рождения Ярона, старался каждый вечер поиграть с ребенком. Даже устраиваясь на работу всегда говорил -…

  • Жена из Самары ...

    В одной ФБ группе обсуждались перевернутые хаммеры и я рассказал: "Один из разов, когда перевернули хаммер был у меня в батальоне. Старослужащие, у…