Преобразователи сообщений#
Преобразователи сообщений (transformers) — действия, которые принимают на вход некоторое сообщение (от клиента или backend) и на выходе дают некоторое новое сообщение, которое далее передается по цепочке, для выполнения над ним других действий. Важно — исходные запросы/ответы при этом не модифицируются, все преобразования производятся для выполнения над этими данными каких-либо проверочных или иных действий.
Наименование |
Вход |
Выход |
Описание |
|---|---|---|---|
ASN1ContentExtractor |
Бинарный конверт ASN1 |
Подписанное содержимое в виде текста |
Извлекает содержимое из конверта в формате ASN1 |
Base64Decode |
Данные закодированные в Base64 |
Декодированные данные |
Декодирование содержимого из Base64 |
Base64Encode |
строка |
закодированная строка |
Кодирование содержимого в Base64 |
JsonPathExtract |
JSON-объект |
Элемент JSON-объекта |
Извлечение содержимого JSON объекта с использованием выражения JSON path |
JsonPathExtractToVars |
JSON-объект |
- |
Извлечение содержимого JSON объекта с использованием выражений JSON path и их сохранение в переменные |
JsonTransformer |
JSON-объект |
JSON-объект |
Удаление элементов JSON-объекта |
MtomExtractor |
сообщение в формате xop/mtom |
сообщения из вложений |
Извлечение вложений из сообщений, переданных в формате xop/mtom |
MultipartExtract |
сообщение в виде multipart/form-data |
массив сообщений |
Извлечение вложений из объекта запроса при передаче в виде multipart/form-data |
PostFormDataToFlateJson |
form-data |
JSON-объект |
Преобразование данных формы в JSON объект |
RandomNumberToVar |
- |
- |
Генерация случайного целого числа от 0 до 100 и помещение его в переменную |
SetMessageFromVar |
сообщение |
- |
Помещение сообщения в переменную NGINX |
SharedMapSetter |
сообщение |
- |
Установка значения в shared-кэш |
SharedMapGetter |
- |
сообщение |
Получение значения из shared-кэша |
SharedMapDeleter |
- |
- |
Удаление элемента кэша |
SharedMapRemover |
- |
сообщение |
Удаление элемента кэша, возвращая при этом его в качестве сообщения |
XPathExtract |
сообщение |
элемент xml |
Извлечение данных из XML документа с использованием выражения XPath |
DelimiterSplitter |
сообщение |
массив сообщений |
Разделение входящего сообщения для его дальнейшего преобразования и проверок |
ProtobufToJson |
сообщение |
сообщение |
Преобразование Protobuf V3 сообщения в JSON объект |
ASN1ToJson |
сообщение |
сообщение |
Преобразование ASN.1 сообщения в JSON объект |
OcspToJson |
сообщение |
сообщение |
Преобразование OCSP сообщения в JSON объект |
UrlDecode |
закодированная Urlencoded строка |
декодированная строка |
Декодирование содержимого из Urlencoded |
UrlEncode |
сообщение |
закодированная строка |
Кодирование содержимого в UrlEncoded |
UrlDecodeUni |
сообщение |
сообщение |
Декодирует содержимое из Urlencoded в UniCode |
Utf8ToUnicode |
сообщение |
сообщение |
Преобразование строки с символами UTF-8 в строку UniCode |
UnicodeDecode |
закодированная строка |
сообщение |
Преобразовывает unicode-escaped в сообщение в стандартном unicode |
Trim |
сообщение |
сообщение |
Удаление пробелов во входящей строке |
ToUpperCase |
сообщение |
сообщение |
Преобразование символов в верхний регистр |
ToLowerCase |
сообщение |
сообщение |
Преобразование символов в нижний регистр |
HexDecode |
закодированная строка |
декодированная строка |
Декодирование содержимого из шестнадцатеричной строки |
HexEncode |
строка |
закодированная строка |
Кодирование содержимого в шестнадцатеричную строку |
XmlTransformer |
Xml-сообщение |
Xml-сообщение |
Удаление элементов Xml-сообщения |
DigestFromMessage |
сообщение |
- |
Вычисление криптографической хэш-функции |
HttpSender |
сообщение |
сообщение |
Получение ответа на запрос, отправленный на указанный HTTP endpoint, и сохранение его в результат |
MessageAccumulator |
сообщение |
сообщение |
Помещение сообщения во временное хранилище |
MessageFromAccumulator |
сообщение |
сообщение |
Извлечение сообщения из временного хранилища |
MessageFromPattern |
сообщение |
сообщение |
Формирование сообщения на основании шаблона из файла |
JsonPatchVar |
JSON-сообщение |
JSON-сообщение |
Модификация JSON сообщения, содержащегося в переменной |
JsonPatchMessage |
JSON-сообщение |
JSON-сообщение |
Модификация JSON сообщения |
MultipartFormGenerateFromMessage |
сообщение |
HTTP сообщение |
Генерация HTTP сообщения в формате multipart-formdata |
FileToMessage |
сообщение |
сообщение |
Считывание содержимого файла и помещение его в сообщение в контексте chains |
LdapSearch |
HTTP запрос |
JSON/LDIF объект |
Поиск записей в службе каталогов LDAP |
SimpleRateLimiter |
сообщение |
сообщение |
Ограничение возможного количества запросов за указанный диапазон времени |
UnicodeDecode |
сообщение |
сообщение |
Преобразование unicode-escaped в сообщение в стандартном unicode |
EventSourceConverter |
event-source события |
JSON/XML объект |
Конвертация event-source события, передаваемого со стороны SSE-сервера в JSON/XML объект |
Рассмотрим подробнее каждое из перечисленных действий.