АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

haproxy-lua - Интернет в облаке

Запустите haproxy-lua в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда haproxy-lua, которую можно запустить в провайдере бесплатного хостинга OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


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

СЧАСТЬЕ LUA БЕГ КОНТЕКСТЫ


Код Lua, выполняемый в HAProxy, может обрабатываться в 2 основных режимах. Первый - это
инициализация Режими второй время выполнения Режим.

· В инициализация Режим, мы можем выполнять DNS-решения, но не можем выполнять ввод-вывод сокетов.
В этом режиме инициализации HAProxy все еще заблокирован во время выполнения Lua.
программу.

· В время выполнения Режим, мы не можем выполнять DNS-решения, но можем использовать сокеты. В
выполнение кода Lua мультиплексируется с обработкой запросов, поэтому код Lua
вроде бы работает в режиме блокировки, но это не так.

Код Lua загружается в один или несколько файлов. Эти файлы содержат основной код и функции.
Lua имеет 6 контекстов выполнения.

1. Файл Lua тело контекст. Он выполняется во время загрузки файла Lua в
HAProxy [Глобальный] раздел с директивой lua-загрузка. Выполняется при инициализации
режим. Этот раздел используется для настройки привязок Lua в HAProxy.

2. Lua инициализации контекст. Это функция Lua, выполняемая сразу после HAProxy.
разбор конфигурации. Выполнение находится в режиме инициализации. В этом контексте
Среда HAProxy уже инициализирована. Полезно проверить конфигурацию или
инициализация соединений или задач сокетов. Эти функции объявлены в теле
контекст с функцией Lua core.register_init (). Прототипом функции является
простая функция без возвращаемого значения и без параметров, например: функция fcn ().

3. Lua задача контекст. Это функция Lua, выполняемая после запуска HAProxy.
планировщик, а сразу после объявления задачи с помощью функции Lua
core.register_task (). Этот контекст может быть одновременным с обработкой трафика. это
выполняется в режиме исполнения. Прототип функции - простая функция без
возвращаемое значение и без параметров, например: функция fcn ().

4. действие контекст. Это функция Lua, выполняемая условно. Эти действия
зарегистрировано директивами Lua "core.register_action ()". Прототип Lua
вызываемая функция - это функция, которая ничего не возвращает и принимает объект
класс TXN как запись. функция fcn (txn).

5. выборка образцов контекст. Эта функция принимает объект TXN в качестве входного аргумента и
возвращает строку. Эти типы функций не могут выполнять какие-либо блокирующие функции. Они
полезны для агрегирования некоторых исходных выборок HAProxy и возврата результата.
Прототип функции функция string fcn (txn). Эти функции могут быть
зарегистрирован с функцией Lua core.register_fetches (). Каждая заявленная выборка-выборка
с префиксом "lua."

ЗАМЕТКА: Возможно, эта функция не может найти требуемые данные в исходном
Образец выборки HAProxy, в этом случае он не может вернуть результат. Этого дела еще нет
поддержал

6. Преобразователь контекст. Это функция Lua, которая принимает на вход строку и возвращает
другая строка в качестве вывода. Эти типы функций не имеют состояния, они не могут получить доступ к
любой контекст. Они не выполняют никаких блокирующих функций. Прототип звонка функция
string fcn (строка). Эту функцию можно зарегистрировать с помощью функции Lua.
core.register_converters (). Каждый объявленный преобразователь имеет префикс «lua.».

СЧАСТЬЕ LUA ЗДРАВСТВУЙТЕ МИР


Файл конфигурации HAProxy (hello_world.conf):

Глобальный
lua-загрузить hello_world.lua

слушать прокси
привязать 127.0.0.1:10001
tcp-запрос инспектировать задержку 1 с
tcp-запрос контента использовать сервис lua.hello_world

Файл HAProxy Lua (hello_world.lua):

core.register_service ("hello_world", "tcp", функция (апплет)
апплет: send ("привет, мир \ n")
конец)

Как запустить HAProxy для тестирования этой конфигурации:

./haproxy -f hello_world.conf

На другом терминале вы можете проверить с помощью telnet:

#: ~ telnet 127.0.0.1 10001
привет мир

класс основной()
«Базовый» класс содержит все основные функции HAProxy. Эти функции полезны
для управления потоком выполнения, регистрации хуков, манипулирования глобальными картами
или ACL, ...

"основной" класс в основном предоставляется HAProxy. Нет требовать линия требуется для
использует эту функцию.

Класс "core" статичен, создать новый объект этого типа невозможно.

ядро.emerg

Returns
целое

Этот атрибут является целым числом, он содержит значение уровня журнала «аварийный».
(0).

ядро.alert

Returns
целое

Этот атрибут является целым числом, он содержит значение уровня журнала «alert» (1).

ядро.крит

Returns
целое

Этот атрибут является целым числом, он содержит значение уровня журнала «критический» (2).

ядро.ошибка

Returns
целое

Этот атрибут является целым числом, он содержит значение уровня журнала «error» (3).

ядро.предупреждение

Returns
целое

Этот атрибут является целым числом, он содержит значение уровня журнала «предупреждение» (4).

ядро.уведомление

Returns
целое

Этот атрибут является целым числом, он содержит значение уровня журнала «notice» (5).

core.info

Returns
целое

Этот атрибут является целым числом, он содержит значение уровня журнала «info» (6).

core.debug

Returns
целое

Этот атрибут является целым числом, он содержит значение уровня журнала «отладка» (7).

core.log (уровень журнала, сообщение)
контекст: тело, инициализация, задача, действие, выборка-выборка, преобразователь

Эта функция отправляет журнал. Журнал отправляется, согласно HAProxy
файл конфигурации, на сервере системного журнала по умолчанию, если он настроен, и на
stderr, если это разрешено.

аргументы

· уровень журнала (целое) - Связан ли уровень журнала с сообщением. Это
число от 0 до 7.

· MSG (string) - содержимое журнала.

Читать core.emerg, core.alert, core.crit, core.err, core.warning, core.notice,
core.info, core.debug (определения уровня журнала)

Читать код.Отладка

Читать ядро.Информация

Читать ядро. Предупреждение

Читать ядро.Предупреждение

ядро.Отладка(сообщение)
контекст: тело, инициализация, задача, действие, выборка-выборка, преобразователь

аргументы

· MSG (string) - содержимое журнала.

Читать журнал

Выполняет ту же работу, что и:

функция Отлаживать(сообщение)
core.log (core.debug, сообщение)
конец

ядро.Информация(сообщение)
контекст: тело, инициализация, задача, действие, выборка-выборка, преобразователь

аргументы

· MSG (string) - содержимое журнала.

Читать журнал

функция Инфо(сообщение)
core.log (core.info, сообщение)
конец

ядро. Предупреждение(сообщение)
контекст: тело, инициализация, задача, действие, выборка-выборка, преобразователь

аргументы

· MSG (string) - содержимое журнала.

Читать журнал

функция Предупреждение(сообщение)
core.log (core.warning, сообщение)
конец

ядро.Предупреждение(сообщение)
контекст: тело, инициализация, задача, действие, выборка-выборка, преобразователь

аргументы

· MSG (string) - содержимое журнала.

Читать журнал

функция Оповещение(сообщение)
core.log (core.alert, сообщение)
конец

core.add_acl (имя файла, ключ)
контекст: инициализация, задача, действие, выборка-выборка, преобразователь

Добавить ACL ключ в списке ACL, на который ссылается файл имя файла.

аргументы

· имя файла (string) - имя файла, которое ссылается на записи ACL.

· ключ (string) - ключ, который будет добавлен.

core.del_acl (имя файла, ключ)
контекст: инициализация, задача, действие, выборка-выборка, преобразователь

Удалите запись ACL, на которую ссылается ключ ключ в списке ACL, на которые ссылается
имя файла.

аргументы

· имя файла (string) - имя файла, которое ссылается на записи ACL.

· ключ (string) - ключ, который будет удален.

core.del_map (имя файла, ключ)
контекст: инициализация, задача, действие, выборка-выборка, преобразователь

Удалить запись карты, проиндексированную указанным ключом, в списке карт, на которые есть ссылки.
по его имени файла.

аргументы

· имя файла (string) - имя файла, которое ссылается на записи карты.

· ключ (string) - ключ, который будет удален.

core.msleep(миллисекунды)
контекст: тело, инициализация, задача, действие

Ассоциация core.msleep () останавливает выполнение Lua между указанными миллисекундами.

аргументы

· миллисекунды (целое) - необходимые миллисекунды.

core.register_action (имя, действия, функция)
контекст: тело

Зарегистрируйте функцию Lua, выполняемую как действие. Все зарегистрированные действия можно использовать
в HAProxy с префиксом «lua.». Действие получает в качестве входных данных класс объекта TXN.

аргументы

· имя (string) - название конвертера.

· действия (ТАБЛИЦЫ) - это таблица строк, описывающих действия HAProxy, которые
хочу зарегистрироваться на. Ожидаемые действия: tcp-req, tcp-res,
http-req или http-res.

· FUNC (функция) - это функция Lua, вызываемая для работы в качестве конвертера.

Прототип функции Lua, используемой в качестве аргумента:

функция (txn)

·

TXN (TXN класс): этой is a TXN объект используемый для манипуляционная домен
текущий запрос или поток TCP.

Вот пример регистрации действия. действие juste отправить "Hello world" в
журналы.

core.register_action ("привет-мир", {"tcp-req", "http-req"}, функция (txn)
txn: Info ("Привет, мир")
конец)
Этот пример кода используется в конфигурации HAproxy следующим образом:

интерфейс tcp_frt
режим tcp
tcp-запрос содержимого lua.hello-world

интерфейс http_frt
режим http
http-запрос lua.hello-world

core.register_converters (имя, функция)
контекст: тело

Зарегистрируйте функцию Lua, выполняемую как преобразователь. Все зарегистрированные конвертеры могут быть
используется в HAProxy с префиксом «lua.». Конвертер получает на входе строку и
вернуть строку в качестве вывода. Зарегистрированная функция может принимать до 9 значений в качестве
параметр. Все значения - строки.

аргументы

· имя (string) - название конвертера.

· FUNC (функция) - это функция Lua, вызываемая для работы в качестве конвертера.

Прототип функции Lua, используемой в качестве аргумента:

функция (str, [p1 [, p2 [, ... [, p5]]]])

· ул (string): это входное значение, автоматически преобразованное в строку.

· p1 .. p5 (string): это список строковых аргументов, объявленных в haroxy
конфигурационный файл. Количество аргументов не превышает 5. Порядок и порядок
их характер обычно выбирается разработчиком.

core.register_fetches (имя, функция)
контекст: тело

Зарегистрируйте функцию Lua, выполняемую как выборку образца. Все зарегистрированные выборки образцов
может использоваться в HAProxy с префиксом «lua.». Выборка Lua возвращает строку
как выход. Зарегистрированная функция может принимать до 9 значений в качестве параметра. Все
значение - это строки.

аргументы

· имя (string) - название конвертера.

· FUNC (функция) - это функция Lua, вызываемая для работы в качестве выборки образцов.

Прототип функции Lua, используемой в качестве аргумента:

строковая функция (txn, [p1 [, p2 [, ... [, p5]]]])

· TXN (TXN класс): это объект txn, связанный с текущим запросом.

· p1 .. p5 (string): это список строковых аргументов, объявленных в haroxy
конфигурационный файл. Количество аргументов не превышает 5. Порядок и порядок
их характер обычно выбирается разработчиком.

· Returns: Строка, содержащая некоторые данные, кроме нуля, если значение не может быть возвращено сейчас.

пример кода lua:

core.register_fetches ("привет", функция (txn)
ответь "привет"
конец)
Пример конфигурации HAProxy:

пример внешнего интерфейса
местоположение перенаправления http-запроса /%[lua.hello]

core.register_service (имя, Режим, функция)
контекст: тело

Зарегистрируйте функцию Lua, выполняемую как службу. Все зарегистрированные услуги могут быть
используется в HAProxy с префиксом «lua.». Сервис получает в качестве входных данных класс объекта
в соответствии с требуемым режимом.

аргументы

· имя (string) - название конвертера.

· Режим (string) - строка, описывающая требуемый режим. Только tcp или
'http' разрешены.

· FUNC (функция) - это функция Lua, вызываемая для работы в качестве конвертера.

Прототип функции Lua, используемой в качестве аргумента:

функция (апплет)

· апплет апплет будет AppletTCP класс или АплетHTTP класс. Это зависит от типа
зарегистрированного апплета. Апплет, зарегистрированный со значением http для Режим
параметр получит АплетHTTP класс, Если Режим значение 'tcp', апплет будет
получает AppletTCP класс.

предупреждение: Апплеты типа http не могут быть вызваны из tcp-' наборы правил. Только домен 'http-'
наборы правил авторизованы, это означает, что невозможно вызвать HTTP-апплет из
прокси в режиме tcp. Апплеты типа tcp можно вызывать из любого места.

Вот пример регистрации услуги. служба просто отправляет "Hello world" как
HTTP-ответ.

core.register_service ("привет-мир", "http", функция (апплет)
local response = "Hello World!"
апплет:set_status(200)
апплет: add_header ("длина содержимого", string.len (ответ))
апплет: add_header ("тип содержимого", "текст / обычный")
апплет: start_response ()
апплет: отправить (ответ)
конец)
Этот пример кода используется в конфигурации HAproxy следующим образом:

пример внешнего интерфейса
http-запрос использовать сервис lua.hello-world

core.register_init (функция)
контекст: тело

Зарегистрируйте функцию, выполняемую после анализа конфигурации. Это полезно для
проверьте любые параметры.

аргументы

· FUNC (функция) - это функция Lua, вызываемая для работы в качестве инициализатора.

Прототип функции Lua, используемой в качестве аргумента:

функция ()
Он не требует ввода и вывода не ожидается.

core.register_task (функция)
контекст: тело, инициализация, задача, действие, выборка-выборка, преобразователь

Зарегистрируйтесь и начните самостоятельное задание. Задача запускается, когда основной HAProxy
планировщик запускается. Например, этот тип задач может быть выполнен для выполнения сложных
проверки здоровья.

аргументы

· FUNC (функция) - это функция Lua, вызываемая для работы в качестве инициализатора.

Прототип функции Lua, используемой в качестве аргумента:

функция ()
Он не требует ввода и вывода не ожидается.

core.set_nice (красиво)
контекст: задача, действие, выборка-выборка, конвертер

Измените привлекательность текущей задачи или текущего сеанса.

аргументы

· хороший (целое) - хорошее значение, оно должно быть между -1024 и 1024.

core.set_map (имя файла, ключ, стоимость)
контекст: инициализация, задача, действие, выборка-выборка, преобразователь

установить значение ценностное связанный с ключом ключ на карте, на которую ссылается имя файла.

аргументы

· имя файла (string) - Ссылка на карту

· ключ (string) - ключ для установки или замены

· ценностное (string) - связанное значение

core.sleep (интервал секунд)
контекст: тело, инициализация, задача, действие

Ассоциация core.sleep () функции останавливают выполнение Lua между указанными секундами.

аргументы

· секунды (целое) - необходимые секунды.

core.tcp ()
контекст: инициализация, задача, действие

Эта функция возвращает новый объект гнездо класса.

Returns
A Розетка класс объект.

core.done (данные)
контекст: тело, инициализация, задача, действие, выборка-выборка, преобразователь

аргументы

· данным (любой) - Вернуть некоторые данные для звонящего. Это полезно с
выборки-выборки и преобразователи выборки.

Немедленно останавливает текущее выполнение Lua и возвращается к вызывающему, который может быть
выборка образца, преобразователь или действие и возвращает указанное значение (игнорируется
для действий). Он используется, когда процесс LUA завершает свою работу и хочет дать
вернуть управление HAProxy, не выполняя оставшийся код. Это можно рассматривать как
многоуровневый «возврат».

core.yield ()
контекст: задача, действие, выборка-выборка, конвертер

Верните руку помощи планировщику HAProxy. Используется при обработке LUA
требует много времени обработки.

класс Извлекает ()
Этот класс содержит множество внутренних выборок HAProxy. См. HAProxy
Документация "configuration.txt" для получения дополнительной информации о ее использовании. они есть
главы 7.3.2–7.3.6.

предупреждение некоторые образцы выборки недоступны в определенном контексте. Эти ограничения
указаны в этой документации, когда они будут полезны.

Читать TXN.f

Читать TXN.sf

Получения полезны для:

· Получить системное время,

· Получить переменную окружения,

· Получать случайные числа,

· Известный статус серверной части, такой как количество пользователей в очереди или количество
соединения установлены,

· Информация о клиенте, такая как IP-адрес источника или назначения,

· Работать со столами из клюшек,

· Установленная информация SSL,

· Информация HTTP, такая как заголовки или метод.

функция действие (txn)
- Получить исходный IP
локальный clientip = txn.f: src ()
конец

класс Конвертеры ()
Этот класс содержит множество внутренних конвертеров образцов HAProxy. См. HAProxy
документация "configuration.txt" для получения дополнительной информации о ее использовании. Это
Глава 7.3.1.

Читать TXN.c

Читать TXN.sc

Конвертеры обеспечивают преобразование с сохранением состояния. Они полезны для:

· Преобразование ввода в base64,

· Применение хеша к входной строке (djb2, crc32, sdbm, wt6),

· Формат даты,

· Json escape,

· Извлечение предпочтительного языка путем сравнения двух списков,

· Перейти к нижнему или верхнему символу,

· Разобраться со столами из клюшек.

класс Канал()
HAProxy использует два буфера для обработки запросов. Используется первый
с данными запроса (от клиента к серверу), а второй используется для
данные ответа (от сервера к клиенту).

Каждый буфер содержит два типа данных. Первый тип - ожидающие входящие данные.
для обработки. Вторая часть - это уже обработанные исходящие данные. Как правило,
входящие данные обрабатываются после того, как они помечаются как исходящие данные, и, наконец, они
отправлено. Следующие функции предоставляют инструменты для управления этими данными в
буфера.

На следующей диаграмме показано, где применяется функция класса канала.

Предупреждение: Невозможно прочитать ответ в действии запроса, и это
невозможно прочитать канал запроса в ответном действии.
[Image]

Channel.dup (канал)
Эта функция возвращает строку, содержащую весь буфер. Данных нет
удалить из буфера и может быть повторно обработан позже.

Если буфер не может получить больше данных, возвращается значение 'nil'.

аргументы

· канал (класс_канала) - Управляемый канал.

Returns
строка, содержащая все доступные данные или ноль.

Channel.get (канал)
Эта функция возвращает строку, содержащую весь буфер. Данные потребляются
из буфера.

Если буфер не может получить больше данных, возвращается значение 'nil'.

аргументы

· канал (класс_канала) - Управляемый канал.

Returns
строка, содержащая все доступные данные или ноль.

Channel.getline (канал)
Эта функция возвращает строку, содержащую первую строку буфера. Данные
потребляется. Если возвращенные данные не содержат окончательного "n", это предполагается, чем его
последние доступные данные в буфере.

Если буфер не может получить больше данных, возвращается значение 'nil'.

аргументы

· канал (класс_канала) - Управляемый канал.

Returns
строка, содержащая доступную строку или ноль.

Channel.set (канал, нить)
Эта функция заменяет содержимое буфера строкой. Функция возвращает
скопированная длина, в противном случае возвращается -1.

Набор данных с этой функцией не отправляется. Ждут конца HAProxy
обработка, поэтому буфер может быть заполнен.

аргументы

· канал (класс_канала) - Управляемый канал.

· string (string) - данные, которые будут отправлены.

Returns
целое число, содержащее количество скопированных байтов, или -1.

Channel.append (канал, нить)
Эта функция добавляет строковый аргумент к содержимому буфера. Функция
возвращает скопированную длину, в противном случае возвращает -1.

Набор данных с этой функцией не отправляется. Ждут конца HAProxy
обработка, поэтому буфер может быть заполнен.

аргументы

· канал (класс_канала) - Управляемый канал.

· string (string) - данные, которые будут отправлены.

Returns
целое число, содержащее количество скопированных байтов, или -1.

Channel.send (канал, нить)
Эта функция требовала немедленной отправки данных. Если только соединение не
close, буфер регулярно очищается, и вся строка может быть отправлена.

аргументы

· канал (класс_канала) - Управляемый канал.

· string (string) - данные, которые будут отправлены.

Returns
целое число, содержащее количество скопированных байтов, или -1.

Channel.get_in_length (канал)
Эта функция возвращает длину входной части буфера.

аргументы

· канал (класс_канала) - Управляемый канал.

Returns
целое число, содержащее количество доступных байтов.

Channel.get_out_length (канал)
Эта функция возвращает длину выходной части буфера.

аргументы

· канал (класс_канала) - Управляемый канал.

Returns
целое число, содержащее количество доступных байтов.

Channel.forward (канал, инт)
Эта функция передает байты из входной части буфера в выходную часть.

аргументы

· канал (класс_канала) - Управляемый канал.

· Int (целое) - количество данных, которые будут перенаправлены.

класс HTTP ()
Этот класс содержит все функции манипулирования HTTP.

HTTP.req_get_headers (http)
Возвращает массив, содержащий все заголовки запроса.

аргументы

· HTTP (класс_http) - Связанный объект http.

Returns
массив заголовков.

Читать HTTP.res_get_headers ()

Это форма возвращаемого массива:

HTTP: req_get_headers () [' '] [ знак равно "

локальный hdr = HTTP: req_get_headers ()
hdr ["хост"] [0] = "www.test.com"
hdr ["accept"] [0] = "audio / basic q = 1"
hdr ["accept"] [1] = "audio / *, q = 0.2"
hdr ["accept"] [2] = "* / *, q = 0.1"

HTTP.res_get_headers (http)
Возвращает массив, содержащий все заголовки ответов.

аргументы

· HTTP (класс_http) - Связанный объект http.

Returns
массив заголовков.

Читать HTTP.req_get_headers ()

Это форма возвращаемого массива:

HTTP: res_get_headers () [' '] [ знак равно "

локальный hdr = HTTP: req_get_headers ()
hdr ["хост"] [0] = "www.test.com"
hdr ["accept"] [0] = "audio / basic q = 1"
hdr ["accept"] [1] = "audio / *, q = 0.2"
hdr ["accept"] [2] = "*. *, q = 0.1"

HTTP.req_add_header (http, название, стоимость)
Добавляет поле заголовка HTTP в запрос, имя которого указано в "name" и
чье значение определяется в "value".

аргументы

· HTTP (класс_http) - Связанный объект http.

· имя (string) - Имя заголовка.

· ценностное (string) - значение заголовка.

Читать HTTP.res_add_header ()

HTTP.res_add_header (http, название, стоимость)
добавляет в ответ поле заголовка HTTP, имя которого указано в "name" и
чье значение определяется в "value".

аргументы

· HTTP (класс_http) - Связанный объект http.

· имя (string) - Имя заголовка.

· ценностное (string) - значение заголовка.

Читать HTTP.req_add_header ()

HTTP.req_del_header (http, название)
Удаляет все поля заголовка HTTP в запросе, имя которого указано в "name".

аргументы

· HTTP (класс_http) - Связанный объект http.

· имя (string) - Имя заголовка.

Читать HTTP.res_del_header ()

HTTP.res_del_header (http, название)
Удаляет все поля заголовка HTTP в ответе, имя которого указано в "name".

аргументы

· HTTP (класс_http) - Связанный объект http.

· имя (string) - Имя заголовка.

Читать HTTP.req_del_header ()

HTTP.req_set_header (http, название, стоимость)
Эта переменная заменяет все вхождения всех заголовков "name" только на одно, содержащее
Значение".

аргументы

· HTTP (класс_http) - Связанный объект http.

· имя (string) - Имя заголовка.

· ценностное (string) - значение заголовка.

Читать HTTP.res_set_header ()

Эта функция выполняет ту же работу, что и следующий код:

функция fcn (txn)
TXN.http: req_del_header («заголовок»)
TXN.http: req_add_header («заголовок», «значение»)
конец

HTTP.res_set_header (http, название, стоимость)
Эта переменная заменяет все вхождения всех заголовков "name" только на одно, содержащее
Значение".

аргументы

· HTTP (класс_http) - Связанный объект http.

· имя (string) - Имя заголовка.

· ценностное (string) - значение заголовка.

Читать HTTP.req_rep_header ()

HTTP.req_rep_header (http, название, регулярное выражение заменять)
Соответствует регулярному выражению во всех вхождениях поля заголовка "имя" в соответствии с
на «регулярное выражение» и заменяет их аргументом «заменить». Стоимость замещения
может содержать обратные ссылки типа 1, 2, ... Эта функция работает с запросом.

аргументы

· HTTP (класс_http) - Связанный объект http.

· имя (string) - Имя заголовка.

· регулярное выражение (string) - регулярное выражение соответствия.

· замещать (string) - стоимость замещения.

Читать HTTP.res_rep_header ()

HTTP.res_rep_header (http, название, регулярное выражение нить)
Соответствует регулярному выражению во всех вхождениях поля заголовка "имя" в соответствии с
на «регулярное выражение» и заменяет их аргументом «заменить». Стоимость замещения
может содержать обратные ссылки типа 1, 2, ... Эта функция работает с запросом.

аргументы

· HTTP (класс_http) - Связанный объект http.

· имя (string) - Имя заголовка.

· регулярное выражение (string) - регулярное выражение соответствия.

· замещать (string) - стоимость замещения.

Читать HTTP.req_replace_header ()

HTTP.req_replace_value (http, название, регулярное выражение заменять)
Работает аналогично HTTP.req_replace_header () за исключением того, что сопоставляет регулярное выражение с
каждое значение поля заголовка "имя", разделенное запятыми, а не все
заголовка.

аргументы

· HTTP (класс_http) - Связанный объект http.

· имя (string) - Имя заголовка.

· регулярное выражение (string) - регулярное выражение соответствия.

· замещать (string) - стоимость замещения.

Читать HTTP.req_replace_header ()

Читать HTTP.res_replace_value ()

HTTP.res_replace_value (http, название, регулярное выражение заменять)
Работает аналогично HTTP.res_replace_header () за исключением того, что сопоставляет регулярное выражение с
каждое значение поля заголовка "имя", разделенное запятыми, а не все
заголовка.

аргументы

· HTTP (класс_http) - Связанный объект http.

· имя (string) - Имя заголовка.

· регулярное выражение (string) - регулярное выражение соответствия.

· замещать (string) - стоимость замещения.

Читать HTTP.res_replace_header ()

Читать HTTP.req_replace_value ()

HTTP.req_set_method (http, метод)
Переписывает метод запроса с параметром «метод».

аргументы

· HTTP (класс_http) - Связанный объект http.

· метод (string) - Новый метод.

HTTP.req_set_path (http, путь)
Изменяет путь запроса с параметром «path».

аргументы

· HTTP (класс_http) - Связанный объект http.

· путь (string) - Новый путь.

HTTP.req_set_query (http, запрос)
Переписывает строку запроса запроса, которая появляется после первого вопросительного знака.
(«?») с параметром «запрос».

аргументы

· HTTP (класс_http) - Связанный объект http.

· запрос (string) - Новый запрос.

HTTP.req_set_uri (http, ури)
Изменяет URI запроса с параметром «uri».

аргументы

· HTTP (класс_http) - Связанный объект http.

· Связи (string) - Новый uri.

HTTP.res_set_status (http, положение дел)
Заменяет код состояния ответа параметром «код». Обратите внимание, что причина
автоматически адаптируется к новому коду.

аргументы

· HTTP (класс_http) - Связанный объект http.

· статус (целое) - Новый код статуса ответа.

класс TXN ()
Класс txn содержит все функции, относящиеся к транзакции http или tcp.
(Обратите внимание, что поток TCP совпадает с транзакцией TCP, но транзакция HTTP
не то же самое, что поток TCP).

Использование этого класса позволяет извлекать данные из запросов, изменять их и
направить его.

Все функции, предоставляемые этим классом, доступны в контексте
выборка образцов и действия.

TXN.c

Returns
An Преобразователи класс.

Этот атрибут содержит объект класса Converters.

TXN.sc

Returns
An Преобразователи класс.

Этот атрибут содержит объект класса Converters. Функции этого объекта
всегда возвращает строку.

TXN.f

Returns
An Извлекает класс.

Этот атрибут содержит объект класса Fetches.

TXN.sf

Returns
An Извлекает класс.

Этот атрибут содержит объект класса Fetches. Функции этого объекта
всегда возвращает строку.

TXN.req

Returns
An Канал класс.

Этот атрибут содержит объект класса канала для буфера запроса.

TXN.res

Returns
An Канал класс.

Этот атрибут содержит объект класса канала для буфера ответа.

TXN.http

Returns
An HTTP класс.

Этот атрибут содержит объект класса HTTP. Доступно только в том случае, если прокси-сервер
включен "режим http".

TXN.log (TXN, лог-уровень сообщение)
Эта функция отправляет журнал. Журнал отправляется, согласно HAProxy
файл конфигурации, на сервере системного журнала по умолчанию, если он настроен, и на
stderr, если это разрешено.

аргументы

· TXN (class_txn) - объект класса txn, содержащий данные.

· уровень журнала (целое) - Связан ли уровень журнала с сообщением. Это
число от 0 до 7.

· MSG (string) - содержимое журнала.

Читать core.emerg, core.alert, core.crit, core.err, core.warning, core.notice,
core.info, core.debug (определения уровня журнала)

Читать TXN.deflog

Читать TXN.Отладка

Читать TXN.Информация

Читать TXN.Предупреждение

Читать TXN.Предупреждение

TXN.deflog (TXN, сообщение)
Отправляет строку журнала с уровнем журнала по умолчанию для прокси, связанного с
сделка.

аргументы

· TXN (class_txn) - объект класса txn, содержащий данные.

· MSG (string) - содержимое журнала.

Читать TXN.log

TXN.Debug (txn, сообщение)

аргументы

· TXN (class_txn) - объект класса txn, содержащий данные.

· MSG (string) - содержимое журнала.

Читать TXN.log

Выполняет ту же работу, что и:

функция Debug (txn, msg)
TXN.log (txn, core.debug, msg)
конец

TXN.Info (txn, сообщение)

аргументы

· TXN (class_txn) - объект класса txn, содержащий данные.

· MSG (string) - содержимое журнала.

Читать TXN.log

функция Debug (txn, msg)
TXN.log (txn, core.info, msg)
конец

TXN.Warning (txn, сообщение)

аргументы

· TXN (class_txn) - объект класса txn, содержащий данные.

· MSG (string) - содержимое журнала.

Читать TXN.log

функция Debug (txn, msg)
TXN.log (txn, core.warning, msg)
конец

TXN.Alert (txn, сообщение)

аргументы

· TXN (class_txn) - объект класса txn, содержащий данные.

· MSG (string) - содержимое журнала.

Читать TXN.log

функция Debug (txn, msg)
TXN.log (txn, core.alert, msg)
конец

TXN.get_priv (txn)
Вернуть данные Lua, хранящиеся в текущей транзакции (с TXN.set_priv ())
функция. Если данные не сохранены, возвращается нулевое значение.

аргументы

· TXN (class_txn) - объект класса txn, содержащий данные.

Returns
предварительно сохраненные непрозрачные данные или ноль, если ничего не доступно.

TXN.set_priv (txn, данные)
Сохраните любые данные в текущей транзакции HAProxy. Это действие заменяет старый
сохраненные данные.

аргументы

· TXN (class_txn) - объект класса txn, содержащий данные.

· данным (непрозрачный) - данные, которые хранятся в транзакции.

TXN.set_var (TXN, вар, стоимость)
Преобразует тип Lua в тип HAProxy и сохраняет его в переменной .

аргументы

· TXN (class_txn) - объект класса txn, содержащий данные.

· вар (string) - Имя переменной в соответствии с переменной HAProxy
синтаксис.

· ценностное (непрозрачный) - данные, которые хранятся в переменной.

TXN.get_var (TXN, вар)
Возвращает данные, хранящиеся в преобразователе переменных, в типе Lua.

аргументы

· TXN (class_txn) - объект класса txn, содержащий данные.

· вар (string) - Имя переменной в соответствии с переменной HAProxy
синтаксис.

TXN.get_headers (txn)
Эта функция возвращает массив заголовков.

аргументы

· TXN (class_txn) - объект класса txn, содержащий данные.

Returns
массив заголовков.

TXN.done (txn)
Эта функция завершает обработку транзакции и связанного с ней сеанса.
Его можно использовать при обнаружении критической ошибки или для прекращения обработки после
некоторые данные были возвращены клиенту (например, перенаправление).

аргументы

· TXN (class_txn) - объект класса txn, содержащий данные.

TXN.set_loglevel (txn, лог-уровень)
Используется для изменения уровня журнала текущего запроса. "Уровень логирования" должен быть
целое число от 0 до 7.

аргументы

· TXN (class_txn) - объект класса txn, содержащий данные.

· уровень журнала (целое) - Требуемый уровень лога. Эта переменная может быть одной из

Читать основной.

TXN.set_tos (txn, тос)
Используется для установки значения поля TOS или DSCP пакетов, отправляемых клиенту на
значение, передаваемое в «tos» на платформах, которые это поддерживают.

аргументы

· TXN (class_txn) - объект класса txn, содержащий данные.

· кашлять (целое) - Новые TOS os DSCP.

TXN.set_mark (txn, отметка)
Используется для установки Netfilter MARK для всех пакетов, отправляемых клиенту, на значение
проходит в «знаке» на платформах, которые его поддерживают.

аргументы

· TXN (class_txn) - объект класса txn, содержащий данные.

· отметка (целое) - Стоимость отметки.

класс Разъем()
Этот класс должен быть совместим с классом Lua Socket. Только "клиент"
функции доступны. См. Документацию по Lua Socket:

http://w3.impa.br/~diego/software/luasocket/tcp.html

Socket.close (сокет)
Закрывает объект TCP. Внутренний сокет, используемый объектом, закрыт, а локальный
адрес, к которому был привязан объект, становится доступным для других приложений. Нет
дальнейшие операции (за исключением дальнейших вызовов метода close) разрешены на
закрытый сокет.

аргументы

· гнездо (class_socket) - Управляемый Socket.

Примечание. Важно закрыть все используемые сокеты, если они не нужны, поскольку в
во многих системах каждый сокет использует дескриптор файла, которые ограничены системой
Ресурсы. Объекты со сборкой мусора автоматически закрываются перед уничтожением,
хотя.

Socket.connect (сокет, адрес[, порт])
Пытается подключить объект сокета к удаленному узлу.

В случае ошибки метод возвращает nil, за которым следует строка с описанием ошибки.
В случае успеха метод возвращает 1.

аргументы

· гнездо (class_socket) - Управляемый Socket.

· адрес (string) - может быть IP-адресом или именем хоста. См. Ниже для
больше информации.

· порт (целое) - должно быть целым числом в диапазоне [1..64K].

Returns
1 или ноль.

расширение адресного поля позволяет использовать функцию connect () для подключения к
другой поток, кроме TCP. Синтаксис, содержащий простой адрес ipv4 или ipv6:
в основном ожидаемый формат. Для этого формата требуется порт.

Другой принятый формат - это путь к сокету, например "/ socket / path", он позволяет подключаться
к розетке. абстрактные пространства имен поддерживаются с префиксом «abns @» и, наконец,
filedescriotr может быть передан с префиксом "fd @". Префикс «ipv4 @», «ipv6 @»
и "unix @" также поддерживаются. Порт можно передать в строке. Синтаксис
«127.0.0.1:1234» допустимо. в этом случае параметр порт игнорируется

Socket.connect_ssl (сокет, адрес, порт)
То же поведение, что и функция socket: connect, но использует SSL.

аргументы

· гнездо (class_socket) - Управляемый Socket.

Returns
1 или ноль.

Socket.getpeername (сокет)
Возвращает информацию об удаленной стороне подключенного клиентского объекта.

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

аргументы

· гнездо (class_socket) - Управляемый Socket.

Returns
строка, содержащая информацию о сервере.

Socket.getsockname (сокет)
Возвращает информацию о локальном адресе, связанную с объектом.

Метод возвращает строку с локальным IP-адресом и номер с портом. В
в случае ошибки метод возвращает ноль.

аргументы

· гнездо (class_socket) - Управляемый Socket.

Returns
строка, содержащая информацию о клиенте.

Socket.receive (socket [, шаблон[, приставка]])
Читает данные из клиентского объекта в соответствии с указанным шаблоном чтения. Узоры
следуют формату ввода-вывода файла Lua, и разница в производительности между всеми
шаблоны незначительны.

аргументы

· гнездо (class_socket) - Управляемый Socket.

· описания (строка | целое число) - Опишите, что требуется (см. Ниже).

· префикс (string) - строка, которая будет префиксом возвращаемых данных.

Returns
строка, содержащая требуемые данные или ноль.

Шаблон может быть любым из следующих:

·

`* a`: читает от домен гнездо до домен связи is закрыты. Нет
выполняется конечный перевод;

·

`* l`: читает a линия of текст от домен Разъем. Ассоциация линия is прекращается by a
Символ LF (ASCII 10), которому может предшествовать символ CR (ASCII 13).
Символы CR и LF не включаются в возвращаемую строку. По факту,
все символы CR игнорируются шаблоном. Это шаблон по умолчанию.

·

номер: Причины домен метод в читать a указанный номер of байт от домен
Разъем. Префикс - это необязательная строка, которую нужно присоединить к началу
любых полученных данных перед возвратом.

· пустой: Если шаблон оставлен пустым, опция по умолчанию - *l.

В случае успеха метод возвращает полученный образец. В случае ошибки
метод возвращает nil, за которым следует сообщение об ошибке, которое может быть строкой 'closed' в
если соединение было закрыто до завершения передачи или строка
«тайм-аут» в случае, если во время операции был тайм-аут. Также после ошибки
сообщение, функция возвращает частичный результат передачи.

Важное примечание: эта функция была сильно изменена. Раньше он поддерживал несколько
шаблоны (но я никогда не видел, чтобы эта функция использовалась), и теперь ее больше нет.
Раньше частичные результаты возвращались так же, как и успешные. Этот
Последняя особенность нарушает идею о том, что все функции должны возвращать nil в случае ошибки. Таким образом
это тоже было изменено.

Socket.send (сокет, данные[, Начните[, конец]])
Отправляет данные через клиентский объект.

аргументы

· гнездо (class_socket) - Управляемый Socket.

· данным (string) - данные, которые будут отправлены.

· Начало (целое) - Начальная позиция в буфере данных, которые будут
быть отправленным.

· конец (целое) - Конечная позиция в буфере данных, которые будут
послал.

Returns
Смотри ниже.

Данные - это строка для отправки. Необязательные аргументы i и j работают точно так же, как
стандартная функция Lua string.sub, позволяющая выбрать подстроку для отправки.

В случае успеха метод возвращает индекс последнего байта в [начало, конец].
что было отправлено. Обратите внимание, что если start равен 1 или отсутствует, это фактически
общее количество отправленных байтов. В случае ошибки метод возвращает nil, за которым следует
сообщение об ошибке, за которым следует индекс последнего байта в [начало, конец], который
был отправлен. Возможно, вы захотите повторить попытку, начиная с байта, следующего за этим. Ошибка
сообщение может быть «закрыто», если соединение было закрыто перед передачей
была завершена или строка 'timeout' в случае, если во время
операции.

Примечание: вывод не буферизуется. Для небольших строк всегда лучше объединять
их в Lua (с оператором '..') и отправить результат за один вызов вместо
вызов метода несколько раз.

Socket.setoption (сокет, вариант[, ценить])
Просто реализовано для совместимости, этот кал ничего не делает.

Socket.settimeout (сокет, ценить[, Режим])
Изменяет значения тайм-аута для объекта. Все операции ввода-вывода блокируются. Что
есть, любой вызов методов send, receive и accept будет заблокирован на неопределенный срок,
пока операция не завершится. Метод settimeout определяет ограничение на сумму
времени, когда методы ввода-вывода могут блокироваться. По истечении времени ожидания затронутый
методы сдаются и терпят неудачу с кодом ошибки.

Время ожидания указывается в качестве параметра значения в секундах.

Режимы тайм-аута реализованы ботом, единственный настраиваемый тайм-аут - это бездействие
время ожидания завершения отправки внутреннего буфера или ожидания приема данных.

аргументы

· гнездо (class_socket) - Управляемый Socket.

· ценностное (целое) - значение тайм-аута.

класс Карта()
Этот класс позволяет выполнять поиск в картах HAProxy. Заявленные карты могут быть
изменен во время выполнения через управляющий сокет HAProxy.

по умолчанию = "США"

- Создать и загрузить карту
geo = Map.new ("geo.map", Map.ip);

- Создать новую выборку, которая возвращает страну пользователя
core.register_fetches ("страна", функция (txn)
местный источник;
местный лок;

src = txn.f: fhdr ("x-переадресовано для");
если (src == nil), то
src = txn.f: src ()
если (src == nil), то
вернуть значение по умолчанию;
конец
конец

- Выполнить поиск
loc = geo: поиск (src);

если (loc == nil) то
вернуть значение по умолчанию;
конец

возврат лок;
конец);

Карта.int
См. Файл HAProxy configuration.txt, глава «Использование списков контроля доступа и выборка образцов».
Подраздел "Основы ACL", чтобы понять этот метод сопоставления с образцом.

Карта.ip См. Файл HAProxy configuration.txt, глава «Использование списков контроля доступа и выборка образцов».
Подраздел "Основы ACL", чтобы понять этот метод сопоставления с образцом.

Карта.str
См. Файл HAProxy configuration.txt, глава «Использование списков контроля доступа и выборка образцов».
Подраздел "Основы ACL", чтобы понять этот метод сопоставления с образцом.

Карта.beg
См. Файл HAProxy configuration.txt, глава «Использование списков контроля доступа и выборка образцов».
Подраздел "Основы ACL", чтобы понять этот метод сопоставления с образцом.

Map.sub
См. Файл HAProxy configuration.txt, глава «Использование списков контроля доступа и выборка образцов».
Подраздел "Основы ACL", чтобы понять этот метод сопоставления с образцом.

Map.dir
См. Файл HAProxy configuration.txt, глава «Использование списков контроля доступа и выборка образцов».
Подраздел "Основы ACL", чтобы понять этот метод сопоставления с образцом.

Карта.дом
См. Файл HAProxy configuration.txt, глава «Использование списков контроля доступа и выборка образцов».
Подраздел "Основы ACL", чтобы понять этот метод сопоставления с образцом.

Карта.конец
См. Файл HAProxy configuration.txt, глава «Использование списков контроля доступа и выборка образцов».
Подраздел "Основы ACL", чтобы понять этот метод сопоставления с образцом.

Map.reg
См. Файл HAProxy configuration.txt, глава «Использование списков контроля доступа и выборка образцов».
Подраздел "Основы ACL", чтобы понять этот метод сопоставления с образцом.

Map.new (файл, метод)
Создает и загружает карту.

аргументы

· файл (string) - это файл, содержащий карту.

· метод (целое) - Метод сопоставления с образцом карты. Посмотреть атрибуты
класса Map.

Returns
объект класса Map.

Читать Атрибуты карты.

Map.lookup (карта, ул)
Выполните поиск на карте.

аргументы

· карта (class_map) - это объект класса Map.

· ул (string) - Используется ли строка как ключ.

Returns
строка, содержащая результат или ноль, если совпадения нет.

Map.slookup (карта, ул)
Выполните поиск на карте.

аргументы

· карта (class_map) - это объект класса Map.

· ул (string) - Используется ли строка как ключ.

Returns
строка, содержащая результат, или пустая строка, если совпадения нет.

класс АпплетHTTP ()
Этот класс используется с апплетами, для которых требуется режим «http». Апплет http может
быть зарегистрированным в core.register_service () функция. Они используются для
обработка http-запроса как сервер позади HAProxy.

Это пример кода hello world:

core.register_service ("привет-мир", "http", функция (апплет)
local response = "Hello World!"
апплет:set_status(200)
апплет: add_header ("длина содержимого", string.len (ответ))
апплет: add_header ("тип содержимого", "текст / обычный")
апплет: start_response ()
апплет: отправить (ответ)
конец)

AppletHTTP.c

Returns
A Преобразователи класс

Этот атрибут содержит объект класса Converters.

AppletHTTP.sc

Returns
A Преобразователи класс

Этот атрибут содержит объект класса Converters. Функции этого объекта
всегда возвращает строку.

AppletHTTP.f

Returns
A Извлекает класс

Этот атрибут содержит объект класса Fetches. Обратите внимание, что выполнение апплета
place не может получить доступ к действительной HTTP-транзакции ядра HAProxy, поэтому некоторый образец
Функции, относящиеся к значениям, зависящим от HTTP (hdr, path, ...), недоступны.

AppletHTTP.sf

Returns
A Извлекает класс

Этот атрибут содержит объект класса Fetches. Функции этого объекта
всегда возвращает строку. Обратите внимание, что место выполнения апплета не может получить доступ к
действительная HTTP-транзакция ядра HAProxy, поэтому некоторые примеры функций, связанных с HTTP
зависимые значения (hdr, путь, ...) недоступны.

AppletHTTP.метод

Returns
string

Метод атрибута возвращает строку, содержащую метод HTTP.

AppletHTTP.версия

Returns
string

Версия атрибута возвращает строку, содержащую версию HTTP-запроса.

AppletHTTP.путь

Returns
string

Путь к атрибуту возвращает строку, содержащую путь HTTP-запроса.

AppletHTTP.qs

Returns
string

Атрибут qs возвращает строку, содержащую строку запроса HTTP-запроса.

АпплетHTTP.длина

Returns
целое

Длина атрибута возвращает целое число, содержащее длину тела HTTP.

AppletHTTP.headers

Returns
массив

Заголовки атрибутов возвращают массив, содержащий заголовки HTTP. Заголовок
имена всегда в нижнем регистре. Поскольку в названии заголовка может встречаться более чем
один раз в каждом запросе значение индексируется с 0 в качестве первого значения индекса. Массив
иметь такую ​​форму:

AppletHTTP.headers [' '] [ знак равно "

AppletHTTP.headers ["хост"] [0] = "www.test.com"
AppletHTTP.headers ["accept"] [0] = "audio / basic q = 1"
AppletHTTP.headers ["accept"] [1] = "audio / *, q = 0.2"
AppletHTTP.headers ["accept"] [2] = "* / *, q = 0.1"

AppletHTTP.headers
Содержит массив, содержащий все заголовки запроса.

AppletHTTP.set_status (апплет, код)
Эта функция устанавливает код состояния HTTP для ответа. Разрешенный код от
100 к 599.

аргументы

· апплет (класс_AppletHTTP) - An АплетHTTP класс

· код (целое) - код статуса, возвращаемый клиенту.

AppletHTTP.add_header (апплет, название, стоимость)
Эта функция добавляет заголовок в ответ. Дублированные заголовки не сворачиваются.
Специальный заголовок длина содержимого используется для определения длины ответа. Если оно
не существует, кодирование передачи: разбитый установлен, и все записи из функции
AppletHTTP: отправить () стать куском.

аргументы

· апплет (класс_AppletHTTP) - An АплетHTTP класс

· имя (string) - название заголовка

· ценностное (string) - значение заголовка

AppletHTTP.start_response (апплет)
Эта функция указывает механизму HTTP, что он может обрабатывать и отправлять
заголовки ответов. После этого вызова мы не можем добавлять заголовки в ответ; Мы
не может использовать AppletHTTP: отправить () функционировать, если AppletHTTP: start_response () Не
называется.

аргументы

· апплет (класс_AppletHTTP) - An АплетHTTP класс

AppletHTTP.getline (апплет)
Эта функция возвращает строку, содержащую одну строку из тела http. Если данные
возвращенный не содержит финального символа '\ n', который предполагается, чем последние доступные данные
до конца потока.

аргументы

· апплет (класс_AppletHTTP) - An АплетHTTP класс

Returns
строка. Строка может быть пустой, если мы дойдем до конца потока.

AppletHTTP.receive (апплет [, размер])
Читает данные из тела HTTP в соответствии с указанным чтением размер, Если размер is
отсутствует, функция пытается прочитать все содержимое потока до конца. Если
домен размер больше, чем тело http, он возвращает доступный объем данных.

аргументы

· апплет (класс_AppletHTTP) - An АплетHTTP класс

· размер (целое) - требуемый размер чтения.

Returns
всегда возвращать строку, строка может быть пустой, если соединение закрыто.

AppletHTTP.send (апплет, сообщение)
Послать сообщение MSG в теле HTTP-запроса.

аргументы

· апплет (класс_AppletHTTP) - An АплетHTTP класс

· MSG (string) - сообщение для отправки.

класс AppletTCP ()
Этот класс используется с апплетами, для которых требуется режим «tcp». Апплет tcp может быть
зарегистрирован в core.register_service () функция. Они используются для обработки
поток tcp как сервер позади HAProxy.

AppletTCP.c

Returns
A Преобразователи класс

Этот атрибут содержит объект класса Converters.

AppletTCP.sc

Returns
A Преобразователи класс

Этот атрибут содержит объект класса Converters. Функции этого объекта
всегда возвращает строку.

AppletTCP.f

Returns
A Извлекает класс

Этот атрибут содержит объект класса Fetches.

AppletTCP.sf

Returns
A Извлекает класс

Этот атрибут содержит объект класса Fetches.

AppletTCP.getline (апплет)
Эта функция возвращает строку, содержащую одну строку из потока. Если данные
возвращенный не содержит финального символа '\ n', который предполагается, чем последние доступные данные
до конца потока.

аргументы

· апплет (класс_AppletTCP) - An AppletTCP класс

Returns
строка. Строка может быть пустой, если мы дойдем до конца потока.

AppletTCP.receive (апплет [, размер])
Читает данные из потока TCP в соответствии с указанным чтением размер, Если размер
отсутствует, функция пытается прочитать все содержимое потока до конца.

аргументы

· апплет (класс_AppletTCP) - An AppletTCP класс

· размер (целое) - требуемый размер чтения.

Returns
всегда возвращать строку, строка может быть пустой, если соединение закрыто.

AppletTCP.send (appletmsg)
Отправьте сообщение в поток.

аргументы

· апплет (класс_AppletTCP) - An AppletTCP класс

· MSG (string) - сообщение для отправки.

Здесь можно найти множество полезных библиотек lua:

· https://lua-toolbox.com/

Доступ к Redis:

· https://github.com/nrk/redis-lua

Это пример использования библиотеки Redis с HAProxy. Обратите внимание, что каждый звонок
любой функции этой библиотеки может вызвать ошибку при сбое подключения к сокету.

- загрузить библиотеку Redis
локальный redis = require ("redis");

функция do_something (txn)

- создать и подключить новый сокет tcp
локальный tcp = core.tcp ();
TCP:установить тайм-аут(1);
tcp: connect ("127.0.0.1", 6379);

- используйте библиотеку redis с этим новым сокетом
локальный клиент = redis.connect ({socket = tcp});
клиент: ping ();

конец

OpenSSL:

· http://mkottman.github.io/luacrypto/index.html

· https://github.com/brunoos/luasec/wiki

Используйте haproxy-lua онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    Сковорода
    Сковорода
    SWIG - это инструмент для разработки программного обеспечения
    который соединяет программы, написанные на C, и
    C ++ с множеством высокоуровневых
    языки программирования. SWIG используется с
    разные...
    Скачать SWIG
  • 2
    Тема WooCommerce Nextjs React
    Тема WooCommerce Nextjs React
    Тема React WooCommerce, созданная с помощью
    Далее JS, Webpack, Babel, Node и
    Экспресс, используя GraphQL и Apollo
    Клиент. Магазин WooCommerce в React (
    содержит: продукты...
    Скачать тему WooCommerce Nextjs React
  • 3
    Archlabs_repo
    Archlabs_repo
    Репозиторий пакетов для ArchLabs Это
    приложение, которое также можно получить
    от
    https://sourceforge.net/projects/archlabs-repo/.
    Он был размещен на OnWorks в...
    Скачать archlabs_repo
  • 4
    Зефир Проект
    Зефир Проект
    Проект Zephyr - новое поколение
    операционная система реального времени (RTOS), которая
    поддерживает несколько аппаратных средств
    архитектуры. Он основан на
    компактное ядро ​​...
    Скачать проект Зефир
  • 5
    SCons
    SCons
    SCons - инструмент для создания программного обеспечения
    это лучшая альтернатива
    классический инструмент сборки "Make",
    мы все знаем и любим. SCons - это
    реализовал ...
    Скачать SCons
  • 6
    PSInt
    PSInt
    PSeInt - интерпретатор псевдокода для
    испаноязычные студенты-программисты.
    Его основная цель - быть инструментом для
    изучение и понимание основных
    концепция ...
    Скачать PSInt
  • Больше »

Команды Linux

  • 1
    7z
    7z
    7z - файловый архиватор с самым высоким
    степень сжатия ...
    Беги 7z
  • 2
    7za
    7za
    7za - файловый архиватор с самым высоким
    степень сжатия ...
    Беги 7за
  • 3
    пресмыкающийся
    пресмыкающийся
    ЖУТКО - Информация о геолокации
    ОПИСАНИЕ агрегатора: Creepy — это
    приложение, позволяющее собирать
    информация, связанная с геолокацией, о
    пользователи из...
    Беги жутко
  • 4
    сборник сверчков
    сборник сверчков
    крикет — программа для управления
    сбор и отображение временных рядов
    данные ...
    Запустите команду cricket-compile
  • 5
    g-wrap-config
    g-wrap-config
    g-wrap-config - скрипт для получения
    информация об установленной версии
    G-Wrap ...
    Запустите g-wrap-config
  • 6
    г.accessgrass
    г.accessgrass
    g.access — контролирует доступ к
    текущий набор карт для других пользователей на
    система. Если опция не указана, печатает
    Текущее состояние. КЛЮЧЕВЫЕ СЛОВА: общее, карта.
    руководство, п...
    Запустите g.accessgrass
  • Больше »

Ad