5.7.3.5. Ресурсы

Сервис отвечает за загрузку ресурсных файлов.

Адреса сервиса

  • http://{server[:port]}/{DB}/app/sys/resource/sid/{sid}/siv/{SIV}/name/{path}

  • http://{server[:port]}/{DB}/app/sys/resource/sid/{sid}/name/{path}

  • http://{server[:port]}/{DB}/app/sys/resource/siv/{siv}/name/{path}

  • http://{server[:port]}/{DB}/app/sys/resource/name/{path}

где:

  • {sid} - уникальный идентификатор рабочего сеанса, строковое представление GUID.

  • {siv} - идентификатор образа решения. Необходим, чтобы браузер “понимал” изменение версии ресурса и загружал его с сервера, а не из собственного кэша.

  • {path} - относительный путь к ресурсу.

Порядок определения требуемого образа решения (загрузчик классов прикладного кода):

  1. Текущий образ решения для E-сессии, если указан {sid}.

  2. Текущий образ решения (загрузчик классов прикладного кода) в остальных случаях.

Загрузка ресурса по имени делегирована классу прикладного кода, реализующему интерфейс ru.bitec.gtk.core.sbt.CoreWebResourceSupplier.

Делегат может возвращать источник ресурса следующих типов:

  • URL

  • InputStream,

  • массив байт

  • объект Response с полным определением параметров http-ответа.

Если делегат в ответ на запрос CSS-файла или изображения возвращает источник ресурса, в http-ответ добавляется заголовок “cache-control”, управляющий кэшированием ресурсов в браузере.

Для предотвращения утечки скомпилированных кодов прикладных приложений, реализована фильтрация отдаваемых ресурсов по расширению. Запрещена отдача скомпилированного и не скомпилированного java/scala кода и содержимого каталога “META-INF/”.

5.7.3.5.1. Аутентификация

Аутентификация в HTTP сервисах.