hub.oscript.io
hub.oscript.io
Войти

winowпакет

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

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

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

opm install winow

Скачанный файл ставится командой opm install -f <файл> — сеть для этого уже не нужна.

Описание

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.
  • Автоматически генерировать спецификацию OpenAPI и отдавать интерактивную документацию Swagger UI.

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

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

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