hs.httpserver.hsminweb
Минимальный веб-сервер для Hammerspoon
Этот модуль предназначен для создания минимального, но (в основном) совместимого со стандартами веб-сервера для использования в Hammerspoon. Расширяя модуль Hammerspoon, hs.httpserver, этот модуль добавляет поддержку предоставления статических страниц, хранящихся в указанном корневом каталоге, а также динамического содержимого из файлов Lua-шаблонов, интерпретируемых в среде Hammerspoon, и внешних исполняемых файлов, поддерживающих фреймворк CGI/1.1.
Этот модуль призван предоставить полностью функциональный и несколько расширяемый фундамент веб-сервера, но никогда не заменит истинное специализированное приложение веб-сервера. Некоторые ограничения включают:
- Он однопоточный в среде Hammerspoon и может обслуживать только один ресурс за раз
- Как и во всех модулях Hammerspoon, пока генерируется динамическое содержимое, Hammerspoon не может отвечать на другие функции обратного вызова — сложный или длительный скрипт может заметно заблокировать другие действия Hammerspoon.
- Все запросы и ответы на документы обрабатываются только в памяти — из-за этого максимальный размер ресурса ограничен тем, что вы готовы позволить Hammerspoon потреблять, и ограничениями памяти вашего компьютера.
Хотя некоторые из этих ограничений могут быть в какой-то степени смягчены в будущем с помощью дополнительных модулей и дополнений к hs.httpserver, возможности Hammerspoon по предоставлению веб-сервиса никогда не заменят специализированный веб-сервер, когда требуется объем или скорость.
Пример веб-сайта предоставлен в папке hsdocs модуля hs.doc. Этот веб-сайт может динамически предоставлять документацию для Hammerspoon, сгенерированную из файла json, включенного в приложение Hammerspoon для внутренней документации. Он служит базовым примером того, что возможно с этим модулем.
Вы можете запустить этот веб-сервер, набрав следующее в консоли Hammerspoon: require("hs.doc.hsdocs").start() , а затем посетив http://localhost:12345/ в вашем веб-браузере.
Подмодули
Обзор API
- Константы - полезные значения, которые нельзя изменить
- Переменные - конфигурируемые значения
- Функции - API-вызовы, предлагаемые непосредственно расширением
- Конструкторы - API-вызовы, которые возвращают объект, обычно тот, который предлагает API-методы
- Методы - API-вызовы, которые могут быть выполнены только на объекте, возвращенном конструктором
Документация API
Константы
dateFormatString
| Подпись | hs.httpserver.hsminweb.dateFormatString |
|---|---|
| Тип | Константа |
| Описание |
Строка формата, пригодная для |
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1592 |
statusCodes
| Подпись | hs.httpserver.hsminweb.statusCodes |
|---|---|
| Тип | Константа |
| Описание |
HTTP-коды состояния ответа |
| Примечания |
|
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1644 |
Переменные
_accessLog
| Подпись | hs.httpserver.hsminweb._accessLog |
|---|---|
| Тип | Переменная |
| Описание |
Доступно как |
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1552 |
_errorHandlers
| Подпись | hs.httpserver.hsminweb._errorHandlers |
|---|---|
| Тип | Переменная |
| Описание |
Доступно как |
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1556 |
_serverAdmin
| Подпись | hs.httpserver.hsminweb._serverAdmin |
|---|---|
| Тип | Переменная |
| Описание |
Доступно как |
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1546 |
_supportMethods
| Подпись | hs.httpserver.hsminweb._supportMethods |
|---|---|
| Тип | Переменная |
| Описание |
Доступно как |
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1574 |
log
| Подпись | hs.httpserver.hsminweb.log |
|---|---|
| Тип | Переменная |
| Описание |
Экземпляр |
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1639 |
Функции
formattedDate
| Подпись | hs.httpserver.hsminweb.formattedDate([date]) -> string |
|---|---|
| Тип | Функция |
| Описание |
Возвращает текущее или указанное время в формате, ожидаемом для HTTP-коммуникаций, как описано в RFC 822, обновлённом RFC 1123. |
| Параметры |
|
| Возвращаемое значение |
|
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1597 |
urlParts
| Подпись | hs.httpserver.hsminweb.urlParts(url) -> table |
|---|---|
| Тип | Функция |
| Описание |
Разбирает указанный URL на составляющие части. |
| Параметры |
|
| Возвращаемое значение |
|
| Примечания |
|
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1608 |
Конструкторы
new
| Подпись | hs.httpserver.hsminweb.new([documentRoot]) -> hsminwebTable |
|---|---|
| Тип | Конструктор |
| Описание |
Создаёт новый объект таблицы hsminweb, представляющий веб-сервер Hammerspoon. |
| Параметры |
|
| Возвращаемое значение |
|
| Примечания |
|
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1505 |
Методы
accessList
| Подпись | hs.httpserver.hsminweb:accessList([table]) -> hsminwebTable | current-value |
|---|---|
| Тип | Метод |
| Описание |
Получение или установка таблицы списка доступа для веб-сервера hsminweb |
| Параметры |
|
| Возвращаемое значение |
|
| Примечания |
|
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1367 |
allowDirectory
| Подпись | hs.httpserver.hsminweb:allowDirectory([flag]) -> hsminwebTable | current-value |
|---|---|
| Тип | Метод |
| Описание |
Получение или установка значения, определяющего, возвращается ли индекс каталога, когда запрашиваемый URL указывает на каталог, а файл, соответствующий элементу в таблице индексов каталогов, не найден. |
| Параметры |
|
| Возвращаемое значение |
|
| Примечания |
|
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1183 |
bonjour
| Подпись | hs.httpserver.hsminweb:bonjour([flag]) -> hsminwebTable | current-value |
|---|---|
| Тип | Метод |
| Описание |
Получить или установить, следует ли веб-серверу рекламировать себя через Bonjour при запуске. |
| Параметры |
|
| Возвращаемое значение |
|
| Примечания |
|
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1156 |
cgiEnabled
| Подпись | hs.httpserver.hsminweb:cgiEnabled([flag]) -> hsminwebTable | current-value |
|---|---|
| Тип | Метод |
| Описание |
Получить или установить, включена ли обработка CGI-файлов. |
| Параметры |
|
| Возвращаемое значение |
|
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1277 |
cgiExtensions
| Подпись | hs.httpserver.hsminweb:cgiExtensions([table]) -> hsminwebTable | current-value |
|---|---|
| Тип | Метод |
| Описание |
Получить или установить расширения файлов, которые идентифицируют файлы, которые должны выполняться как CGI-скрипты для предоставления результатов HTTP-запросу. |
| Параметры |
|
| Возвращаемое значение |
|
| Примечания |
|
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1297 |
directoryIndex
| Подпись | hs.httpserver.hsminweb:directoryIndex([table]) -> hsminwebTable | current-value |
|---|---|
| Тип | Метод |
| Описание |
Получить или установить имена файлов для поиска, когда запрашиваемый URL указывает на каталог. |
| Параметры |
|
| Возвращаемое значение |
|
| Примечания |
|
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1254 |
dnsLookup
| Подпись | hs.httpserver.hsminweb:dnsLookup([flag]) -> hsminwebTable | current-value |
|---|---|
| Тип | Метод |
| Описание |
Получить или установить, выполняются ли запросы DNS. |
| Параметры |
|
| Возвращаемое значение |
|
| Примечания |
|
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1206 |
documentRoot
| Подпись | hs.httpserver.hsminweb:documentRoot([path]) -> hsminwebTable | current-value |
|---|---|
| Тип | Метод |
| Описание |
Получить или установить корневой каталог документов для веб-сервера. |
| Параметры |
|
| Возвращаемое значение |
|
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1104 |
interface
| Подпись | hs.httpserver.hsminweb:interface([interface]) -> hsminwebTable | current-value |
|---|---|
| Тип | Метод |
| Описание |
Получить или установить сетевой интерфейс, на котором будет прослушивать веб-сервер hsminweb. |
| Параметры |
|
| Возвращаемое значение |
|
| Примечания |
|
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1417 |
luaTemplateExtension
| Подпись | hs.httpserver.hsminweb:luaTemplateExtension([string]) -> hsminwebTable | current-value |
|---|---|
| Тип | Метод |
| Описание |
Получить или установить расширение файлов, содержащих Lua-код, который должен выполняться в Hammerspoon для предоставления результатов HTTP-запросу. |
| Параметры |
|
| Возвращаемое значение |
|
| Примечания |
|
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1320 |
maxBodySize
| Подпись | hs.httpserver.hsminweb:maxBodySize([size]) -> hsminwebTable | current-value |
|---|---|
| Тип | Метод |
| Описание |
Получить или установить максимальный размер тела для HTTP-запроса. |
| Параметры |
|
| Возвращаемое значение |
|
| Примечания |
|
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1075 |
Имя
| Подпись | hs.httpserver.hsminweb:name([name]) -> hsminwebTable | current-value |
|---|---|
| Тип | Метод |
| Описание |
Получение или установка имени, используемого веб-сервером в рекламе Bonjour при работе веб-сервера. |
| Параметры |
|
| Возвращаемое значение |
|
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1020 |
Пароль
| Подпись | hs.httpserver.hsminweb:password([password]) -> hsminwebTable | boolean |
|---|---|
| Тип | Метод |
| Описание |
Установка пароля для веб-сервера hsminweb или возврат булевого значения, указывающего, установлен ли пароль для веб-сервера. |
| Параметры |
|
| Возвращаемое значение |
|
| Примечания |
|
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1045 |
Порт
| Подпись | hs.httpserver.hsminweb:port([port]) -> hsminwebTable | current-value |
|---|---|
| Тип | Метод |
| Описание |
Получение или установка номера порта, на котором прослушивает веб-сервер |
| Параметры |
|
| Возвращаемое значение |
|
| Примечания |
|
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 992 |
Логирование запросов
| Подпись | hs.httpserver.hsminweb:queryLogging([flag]) -> hsminwebTable | current-value |
|---|---|
| Тип | Метод |
| Описание |
Получение или установка значения, определяющего, производятся ли логи запросов на этот веб-сервер. |
| Параметры |
|
| Возвращаемое значение |
|
| Примечания |
|
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1230 |
Таймаут скрипта
| Подпись | hs.httpserver.hsminweb:scriptTimeout([integer]) -> hsminwebTable | current-value |
|---|---|
| Тип | Метод |
| Описание |
Получение или установка таймаута для CGI-скрипта |
| Параметры |
|
| Возвращаемое значение |
|
| Примечания |
|
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1343 |
SSL
| Подпись | hs.httpserver.hsminweb:ssl([flag]) -> hsminwebTable | current-value |
|---|---|
| Тип | Метод |
| Описание |
Получение или установка значения, определяющего, использует ли веб-сервер SSL для связи HTTP-запросов и ответов. |
| Параметры |
|
| Возвращаемое значение |
|
| Примечания |
|
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1128 |
Запуск
| Подпись | hs.httpserver.hsminweb:start() -> hsminwebTable |
|---|---|
| Тип | Метод |
| Описание |
Начать предоставление страниц для веб-сервера hsminweb. |
| Параметры |
|
| Возвращаемое значение |
|
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1448 |
Остановка
| Подпись | hs.httpserver.hsminweb:stop() -> hsminwebTable |
|---|---|
| Тип | Метод |
| Описание |
Остановить предоставление страниц для веб-сервера hsminweb. |
| Параметры |
|
| Возвращаемое значение |
|
| Примечания |
|
| Источник | extensions/httpserver/httpserver_hsminweb.lua строка 1479 |
© 2014–2017 Hammerspoon contributors
Licensed under the MIT License.
https://www.hammerspoon.org/docs/hs.httpserver.hsminweb.html