javax_slr (javax_slr) wrote,
javax_slr
javax_slr

Category:

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

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

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

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

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

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

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

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

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

  • Как мы ездили за снегом

    Узнав, что в Иерусалиме ожидают снег, я взял отгул и с Мейталь (которая не сильно грустила, что я ее отрываю от уроков в Зуме) поехал в Иерусалим.…

  • Счастливое мещанство

    Началось всё с Парижа 30 декабря 1999 - там я впервые попробовал камамбер, бри и всякие такие сыры. Потом выяснил, что коньяк не пьют залпом как…

  • 2020: Итоги года

    Надо продолжать традицию, хотя настроения нет. Пишу итоги года. Успели съездить на лыжи до того, как всё закрылось. Дома появилась собака, хорошая…

  • 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

  • Как мы ездили за снегом

    Узнав, что в Иерусалиме ожидают снег, я взял отгул и с Мейталь (которая не сильно грустила, что я ее отрываю от уроков в Зуме) поехал в Иерусалим.…

  • Счастливое мещанство

    Началось всё с Парижа 30 декабря 1999 - там я впервые попробовал камамбер, бри и всякие такие сыры. Потом выяснил, что коньяк не пьют залпом как…

  • 2020: Итоги года

    Надо продолжать традицию, хотя настроения нет. Пишу итоги года. Успели съездить на лыжи до того, как всё закрылось. Дома появилась собака, хорошая…