Spec-Zone.ru › Hammerspoon

hs.httpserver

Простой HTTP-сервер

Примечания:

  • Запуск HTTP-сервера потенциально опасен, следует серьезно учитывать последствия безопасности, связанные с экспонированием вашего экземпляра Hammerspoon в сети — особенно в интернете
  • В качестве пользователя Hammerspoon предполагается, что вы обладаете высокими компетенциями и осведомлены о проблемах безопасности

Подмодули

  • hs.httpserver.hsminweb

Обзор API

  • Функции — вызовы API, предоставляемые напрямую расширением
    • new
  • Методы — вызовы API, которые можно выполнить только на объекте, возвращенном конструктором
    • getInterface
    • getName
    • getPort
    • maxBodySize
    • send
    • setCallback
    • setInterface
    • setName
    • setPassword
    • setPort
    • start
    • stop
    • websocket

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

Функции

new
Подпись hs.httpserver.new([ssl], [bonjour]) -> object
Тип Функция
Описание

Создает новый HTTP- или HTTPS-сервер

Параметры
  • ssl — необязательный логический тип. Если true, сервер начнет использовать HTTPS. По умолчанию false.
  • bonjour — необязательный логический тип. Если true, сервер будет рекламировать себя с помощью Bonjour. По умолчанию true. Обратите внимание, что для изменения этого параметра необходимо указать значение true или false для аргумента ssl.
Возвращаемое значение
  • Объект hs.httpserver
Примечания
  • По умолчанию сервер будет запускаться на случайном TCP-порту и рекламировать себя с помощью Bonjour. Вы можете проверить порт с помощью hs.httpserver:getPort().
  • По умолчанию сервер будет прослушивать все сетевые интерфейсы. Вы можете переопределить это с помощью hs.httpserver:setInterface() перед запуском сервера
  • В настоящее время в режиме HTTPS сервер будет использовать самоподписанный сертификат, о котором большинство браузеров будут предупреждать. Если вы хотите/нуждаетесь в возможности использования hs.httpserver с сертификатом, подписанным доверенным центром сертификации, отправьте отчет об ошибке в Hammerspoon, запросив поддержку этого.
Исходный код extensions/httpserver/libhttpserver.m строка 374

Методы

getInterface
Подпись hs.httpserver:getInterface() -> string or nil
Тип Метод
Описание

Получает сетевой интерфейс, на котором настроен сервер для прослушивания

Параметры
  • Нет
Возвращаемое значение
  • Строка, содержащая имя сетевого интерфейса, или nil, если сервер будет прослушивать все интерфейсы
Исходный код extensions/httpserver/libhttpserver.m строка 647
getName
Подпись hs.httpserver:getName() -> string
Тип Метод
Описание

Получает имя Bonjour, под которым сервер настроен на рекламу себя

Параметры
  • Нет
Возвращаемое значение
  • Строка, содержащая имя Bonjour этого сервера
Примечания
  • Это не имя хоста сервера, а только его имя в списках служб Bonjour (например, меню закладок Bonjour Safari)
Исходный код extensions/httpserver/libhttpserver.m строка 689
getPort
Подпись hs.httpserver:getPort() -> number
Тип Метод
Описание

Получает TCP-порт, на котором настроен сервер для прослушивания

Параметры
  • Нет
Возвращаемое значение
  • Число, содержащее TCP-порт
Исходный код extensions/httpserver/libhttpserver.m строка 616
maxBodySize
Подпись hs.httpserver:maxBodySize([size]) -> object | current-value
Тип Метод
Описание

Получение или установка максимального допустимого размера тела для входящего HTTP-запроса.

Параметры
  • size — необязательное целое значение, определяющее максимальный размер тела, разрешенный для входящего HTTP-запроса в байтах. По умолчанию 10485760 (10 МБ).
Возвращаемое значение
  • Если указан новый размер, возвращает объект hs.httpserver; в противном случае текущее значение.
Примечания
  • Поскольку Hammerspoon http-сервер обрабатывает входящие запросы полностью в памяти, этот метод устанавливает ограничение на максимальный размер запроса POST или PUT.
Исходный код extensions/httpserver/libhttpserver.m строка 513
send
Подпись hs.httpserver:send(message) -> object
Тип Метод
Описание

Отправляет сообщение клиенту WebSocket

Параметры
  • message — строка, содержащая отправляемое сообщение
Возвращаемое значение
  • Объект hs.httpserver
Исходный код extensions/httpserver/libhttpserver.m строка 446
setCallback
Подпись hs.httpserver:setCallback([callback]) -> object
Тип Метод
Описание

Устанавливает обратный вызов обработки запросов для объекта HTTP-сервера

Параметры
  • callback — необязательная функция, которая будет вызвана для обработки каждого входящего HTTP-запроса, или nil для удаления существующего обратного вызова. См. раздел примечаний ниже для получения дополнительной информации об этом обратном вызове
Возвращаемое значение
  • Объект hs.httpserver
Примечания
  • Обратный вызов будет передан с четырьмя аргументами:

  • Строка, содержащая тип запроса (например, GET/POST/DELETE и т.д.)

  • Строка, содержащая элемент пути запроса (например, /index.html)

  • Таблица, содержащая заголовки запроса

  • Строка, содержащая исходное содержимое тела запроса, или пустая строка, если тело запроса не включено.

  • Обратный вызов обязательно должен вернуть три значения:

  • Строка, содержащая тело ответа

  • Целое число, содержащее код ответа (например, 200 для успешного запроса)

  • Таблица, содержащая дополнительные HTTP-заголовки для установки (или пустая таблица {}, если дополнительные заголовки не требуются)

  • Запрос POST, часто используемый HTML-формами, будет хранить содержимое формы в теле запроса.

Исходный код extensions/httpserver/libhttpserver.m строка 466
setInterface
Подпись hs.httpserver:setInterface(interface) -> object
Тип Метод
Описание

Устанавливает сетевой интерфейс, на котором настроен сервер для прослушивания

Параметры
  • interface — строка, содержащая имя интерфейса
Возвращаемое значение
  • Объект hs.httpserver
Примечания
  • Помимо реальных имен интерфейсов (например, en0) допустимы следующие значения:
  • IP-адрес одного из ваших интерфейсов
  • localhost
  • loopback
  • nil (что означает все интерфейсы и является значением по умолчанию)
Исходный код extensions/httpserver/libhttpserver.m строка 662
setName
Подпись hs.httpserver:setName(name) -> object
Тип Метод
Описание

Устанавливает имя Bonjour, под которым сервер должен рекламировать себя

Параметры
  • name — строка, содержащая имя Bonjour для сервера
Возвращаемое значение
  • Объект hs.httpserver
Примечания
  • Это не имя хоста сервера, а только его имя в списках служб Bonjour (например, меню закладок Bonjour Safari)
Исходный код extensions/httpserver/libhttpserver.m строка 707
setPassword
Подпись hs.httpserver:setPassword([password]) -> object
Тип Метод
Описание

Устанавливает пароль для объекта HTTP-сервера

Параметры
  • password — необязательная строка, содержащая пароль сервера, или nil для удаления существующего пароля
Возвращаемое значение
  • Объект hs.httpserver
Примечания
  • В настоящее время невозможно установить несколько паролей для разных пользователей или пароли только для определенных путей
Исходный код extensions/httpserver/libhttpserver.m строка 539
END_OF_DOCUMENT_MARKER
setPort
Подпись hs.httpserver:setPort(port) -> object
Тип Метод
Описание

Устанавливает TCP-порт, на котором сервер настроен для прослушивания

Параметры
  • port - Целое число, содержащее TCP-порт для прослушивания
Возвращает
  • Объект hs.httpserver
Исходный код extensions/httpserver/libhttpserver.m строка 631
start
Подпись hs.httpserver:start() -> object
Тип Метод
Описание

Запускает объект HTTP-сервера

Параметры
  • Нет
Возвращает
  • Объект hs.httpserver
Исходный код extensions/httpserver/libhttpserver.m строка 573
stop
Подпись hs.httpserver:stop() -> object
Тип Метод
Описание

Останавливает объект HTTP-сервера

Параметры
  • Нет
Возвращает
  • Объект hs.httpserver
Исходный код extensions/httpserver/libhttpserver.m строка 599
websocket
Подпись hs.httpserver:websocket(path, callback) -> object
Тип Метод
Описание

Включает конечную точку websocket на HTTP-сервере

Параметры
  • path - Строка, содержащая путь websocket, например, '/ws'
  • callback - Функция, возвращающая строку для каждого полученного сообщения websocket
Возвращает
  • Объект hs.httpserver
Примечания
  • Функции callback передается один строковый параметр, содержащий полученное сообщение
  • Функция callback должна возвращать строку, содержащую ответное сообщение
  • При указании пути '/mysock' и порта 8000, URL websocket выглядит следующим образом:
  • ws://localhost:8000/mysock
  • wss://localhost:8000/mysock (если включен SSL)
Исходный код extensions/httpserver/libhttpserver.m строка 415

© 2014–2017 Hammerspoon contributors
Licensed under the MIT License.
https://www.hammerspoon.org/docs/hs.httpserver.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API