Ср, 2016-05-25
Мобильное приложение для платформ Android, iOS, содержащее нормативы выполнения спортивных разрядов и званий триатлетами
Вс, 2016-05-15
Android, iOS приложение для просмотра нормативов для выполнения спортивных званий и разрядов бегунам
Втр, 2016-05-10
Android, iOS приложение для просмотра данных из единого всероссийского классификатора норм выполнения спортивных разрядов и спортивных званий пловцами

ICAP сервер

    Данный сервер реализует ICAP (Internet Content Adaptation Protocol RFC3507) протокол. Суть этого протокола – модификация HTTP трафика, передаваемого серверу. На настоящий момент сервер реализует все требования протокола, а именно:

  • Ответ на запрос о конфигурации (options response).
  • Модификация HTTP запросов (заголовок + данные).
  • Модификация HTTP ответов (заголовок + данные).
  • 204 ответ, как в preview, так и в основном потоке данных
  • 206 ответ.

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

    На настоящий момент реализованы следующие модули:

  • 403 ответ на основе анализа запроса регулярными выражениями (regexp).
  • Поточная замена данных на основе регулярных выражений (regexp), за счет использования библиотеки pire сложность данной задачи сведена к линейной.

    Неблокируемый сервер, разработан для ОС Linux на основе паттерна worker thread, что позволяет эффективно работать даже при больших нагрузках, в отличие от open-source решения с-icap.

   Средства разработки, протоколы, технологии, использованные для реализации проекта:

  • С++;
  • Libev;
  • Pire;
  • HTTP;
  • ICAP;
  • Regexp.