Skip to content

Gateway, позволяющий настроить единый API для работы с различными сервисами из набора OpenIntegrations и произвольными OneScript-модулями через HTTP

License

Notifications You must be signed in to change notification settings

oscript-library/melezh

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This package is also available in English: Click!


image

Melezh

OpenIntegrations OpenYellow OneScript OneScript

Серверная версия Открытого пакета интеграций, предоставляющая единый настраиваемый HTTP API для доступа к его библиотекам и произвольным .os скриптам (расширениям), с возможностью установки значений по умолчанию, веб-консолью и встроенным логированием входящих запросов

Принцип работы

Данный сервер устанавливается поверх oint - консольного приложения Открытого пакета интеграций, и позволяет удаленно вызывать его методы посредством HTTP-запросов из любого места так, как это происходило бы в консоли на локальной машине. Melezh использует встроенный в OneScript сервер Kestrel для приема HTTP-запросов, а затем интерпретирует их в команды oint (или вызовы функций модулей-расширений) для дальнейшего выполнения

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

Пример начальной настройки

В этом примере создается новый файл проекта с настройкой обработчика GET-запросов для функции ОтправитьТекстовоеСообщение из библиотеки работы с Telegram. Также в нем устанавливается значение по умолчанию для параметра token без возможности перезаписи ("строгий"):

melezh СоздатьПроект                 --path R:\test_proj.melezh
melezh ДобавитьОбработчикЗапросов    --proj R:\test_proj.melezh --lib telegram --func ОтправитьТекстовоеСообщение --method GET
melezh УстановитьАргументОбработчика --proj R:\test_proj.melezh --handler 42281f11b --arg token --value "***" --strict true
melezh ЗапуститьПроект               --proj R:\test_proj.melezh --port 7788

Обработчик будет доступен на localhost:7788/42281f11b, где 42281f11b - идентификатор, получаемый при вызове ДобавитьОбработчикЗапросов, являясь одновременно и ключом обработчика для настройки, и URL-эндпоинтом для обращений

Пример запроса для отправки текстового сообщения:

http://localhost:7788/42281f11b?chat=123123123&text="Hello world!"

Как можно заметить, мы не передаем токен, так как он установлен по умолчанию

Веб-интерфейс

Кроме CLI интерфейса, для более простой интерактивной настройки и управления, можно использовать встроенную в Melezh веб-консоль:

chrome_aDGtJZRrD8

На записи: вход в консоль, добавление нового обработчика для создания новости в Bitrix24 с указанием двух параметров по умолчанию, отключение двух обработчиков, просмотр подробностей одного из последних событий, просмотр всех логов по одному из обработчиков за сегодня


Веб-консоль позволяет:

  • Следить за последними событиями сервера
  • Добавлять, изменять и удалять обработчики, менять состав параметров по умолчанию
  • Включать и отключать обработчики на время
  • Просматривать подробные логи по каждому обработанному запросу
  • Изменять настройки сервера

Если вы только начинаете работу с Melezh, то рекомендуется начать именно с этого режима. Получить доступ к веб-консоли можно по адресу localhost:<ваш порт>/ui после создания и запуска проекта

Установка


Melezh может быть установлен при помощи Windows-установщика, rpm или deb-пакета, пакета для OneScript, а также внутри Docker-контейнера. Необходимые файлы находятся в релизах данного репозитория


Узнать больше о способе и процессе установки можно на соответствующей странице документации


Документация


Больше информации о консольных командах, логировании, возможностях Web UI и работе с Melezh в целом можно найти в онлайн-документации. Она находится на том же портале, что и документация основного проекта - Открытого пакета интеграций, где вы также сможете найти информацию и о методах, доступных в качестве функций-обработчиков внутри Melezh. Текст документации доступен в двух вариантах - на русском и английском языках


Поддержать проект

image

Если вам нравится этот или другие мои проекты, то вы можете поддержать меня на Boosty (регулярно или единоразово). При подписке от 500 рублей открывается доступ в приватный Telegram-чат, где можно задать интересующие вопросы о проекте и получить помощь от меня напрямую

Спасибо за вашу поддержку!


Infostart

Статьи на Инфостарте:

About

Gateway, позволяющий настроить единый API для работы с различными сервисами из набора OpenIntegrations и произвольными OneScript-модулями через HTTP

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • 1C Enterprise 69.6%
  • HTML 20.5%
  • JavaScript 8.7%
  • Other 1.2%