Скриптинг

Материал из Hivext Wiki

Перейти к: навигация, поиск

Содержание

Скриптинг серверной логики

Сервис скриптинга позволяет размещать и выполнять скрипты в инфраструктуре платформы. Сервис занимается распределением (масштабированием) вычислительной нагрузки по нодам платформы. Взаимодействие с Hive API платформы происходит через внешний объект hivext. Он доступен из скриптов в глобальной области видимости каждого скрипта и позволяет вызывать любые методы из HiAPI и LoAPI.

Конечные точки (endpoint)

Сервис Скриптинга по умолчанию формирует адреса к скриптам в формате http://{идентификатор_приложения}.{датацетр}.hivext.ru/{имя_скрипта}
http://{идентификатор_приложения}.{датацетр}.hivext.ru/ - ведет на скрипт с названием index.
Для задания произвольного адреса к скрипту можно указывать аннотацию @url (см. Аннотации)
Обращение по адресу скрипта инициирует вызов метода Eval сервиса Скриптинга.

Передача параметров

Внешние параметры передаются в скрипт через HTTP методы:

  • GET в формате UrlEncoding, например {имя_скрипта}?param1=value1&...&paramN=valueN
  • POST, например через HTML форму

Параметры извлекаются в скрипте через метод GetParam.

Аннотации

Для всех скриптов из сервиса Скриптинга можно указывать аннотации прямо в коде скрипта.

Аннотация Значение

@url('адрес')
@url('адрес1', 'адрес2', ...)

Адрес по которому будет доступен скрипт по сети. Если не определено, путь равен имени скрипта.

Примеры
@url('book/page')
@url('users/account/settings')
@url('/${param}')
@url('users/${name}')
@url('/${param1}/${param2}')

Комбинирование
@url('users', 'users/', 'users/${name}')

@req('параметр')
@req('парам1', 'парам2', ...)

Указывает что перечисленные параметры в аннотации обязательные для передачи скрипту, в противном случае при вызове скрипта будет получено исключение.

Примеры
@req('email')
@req('email', 'name')

@auth Скрипт разрешено вызывать только авторизированным пользователям.
@local Скрипт может вызывать только серверный код. При обращении к скрипту клиента по сети произойдет исключение.

Общая информация

Параметр Значение
Версия сервиса 1.0 [stable]
Пространство имен Development
Имя сервиса Scripting
Локальный доступ hivext.development.scripting.{название_метода}
Сетевой доступ http://api.hivext.ru/1.0/development/scripting/{протокол}/{название_метода}
Характеристика

Языки программирования

Шаблонизаторы

Консоль http://code.hivext.ru/development/APIConsole/#Development.Scripting

Методы

Разделение методов сервиса по категориям

Управление

CreateScript
Создать скрипт.
DeleteScript
Удалить скрипт.
GetScripts
Взять все скрипты для указанного приложения.
GetScript
Взять скрипт по имени для указанного приложения.
ChangeScript
Изменить скрипт (название, тип, код, аннотацию).
GetEngineInfo
Получить информацию о виртуальных машинах.
Build
Сборка (компилирование) скрипта размещенного в сервисе Скриптинга.
Eval
Исполнение скрипта размещенного в сервисе Скриптинга.
EvalCode
Исполнение скрипта не размещенного в сервисе Скриптинга.

Клиенты

Язык Адрес
JavaScript http://api.hivext.ru/1.0/development/scripting.js

Компоненты

Не представлены.

Личные инструменты