OpenHub
OpenHub
Войти

winowпакет

с апстрима

Минималистичный веб-сервер на нативном OneScript

автор: Никита Иванченкоскачиваний: 10репозиторий: github.com/autumn-library/winow

Пакет лежит в основном пуле хаба: короткой формы достаточно, если хаб прописан сервером пакетов в opm.cfg.

opm install winow

Установка на opm младше 1.7.0

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

Добавьте пул сервером пакетов в opm.cfg. Порт продублирован в «Сервер»: у opm push поле «Порт» не читается.

{ "СервераПакетов": [ { "Имя": "default", "Сервер": "https://hub.1cdevelopers.ru", "Порт": 443, "ПутьНаСервере": "/api/v1/pools/default/download/", "РесурсПубликацииПакетов": "/api/v1/pools/default/push", "Приоритет": 1 } ] }

И ставьте пакет, указывая сервер:

opm install -m default winow

Описание

WINOW is not OneScript.web

Минималистичный веб-сервер, построен на нативном TCPСервер, и работает на желудях.

Зачем это нужно, когда есть OneScript.Web, -CGI и т.д.? Отвечаю - для того, чтобы все было на чистом OneScript! И потому, что могу. С полным контролем, от входа двоичных данных на порт, до определения маршрута, получения данных, генерации ответа по шаблону и отправкой обратно клиенту.

Установка

opm install winow

Что можно сделать ?

Данная библиотека позволит Вам достаточно просто подготовить и запустить:

  • микросервис, с гибким API
  • быстро сделать МОК для вашего "любимого" удаленного API и наконец-то продолжить комфортную разработку.
  • Веб приложение, с отдачей статичных файлов, разграничением доступа по ролям, и генерацией страниц по шаблонам.
  • И все, на что хватит фантазии.

Какие возможности ?

В данной библиотеке я постарался реализовать подход в разработке приложений в стиле MVC.

На текущий момент winow позволяет:

  • Обрабатывать входящие GET и POST запросы.
  • Обеспечивать маршрутизацию входящего запроса до нужного метода.
  • Разбирать все входящие параметры.
  • Обрабатывать тело входящего POST запроса.
  • Работать с печеньками (Cookie).
  • Работать с сессиями.
  • Отдавать статичные файлы (картинки, архивы и т.д.)
  • Работать с шаблонами ответов (Синтаксис шаблона чем-то похож на jinja2, но сильно упрощен).
  • Базовая авторизация и управление доступом к страницам по ролям.
  • Использовать протокол WebSocket
  • Использовать протокол server-sent events. (SSE)
  • Отправлять трассировку, метрики и логи через OpenTelemetry.

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

Книга жалоб и пожеланий !

Можно оставить тут https://github.com/autumn-library/winow/issues или тут https://github.com/oscript-library/winow/issues