Экстракторы#
Экстрактор из заголовка#
Данный экстрактор сохраняет в контекст значения из заголовков в соответствии с указанным маппингом.
{
"type": "headers-extractor",
"mapping": [
{
"source": "X-Username",
"target": "userId",
"required": true, // Обязательный или опциональный параметр. По умолчанию true
},
{
"source": "X-Password",
"target": "password",
"encoding": "BASE64" // PLAIN or BASE64
}
]
}
Экстрактор из OAuth-маркера#
Данный экстрактор сохраняет в контекст значения атрибутов пользователя,
полученных через интроспекцию OAUTH-маркера, в соответствии с указанным
маппингом. При отсутствии в запросе маркера или идентификатора
пользователя sub в маркере обработчик вернет ответ HTTP 401
Forbidden.
{
"type": "o-auth-token-extractor",
"mapping": [
{
"source": "name",
"target": "name",
"required": true, // Обязательный или опциональный параметр. По умолчанию true
},
{
"source": "org",
"target": "workplace",
"required": false
},
{
"source": "key",
"target": "key",
"encoding": "BASE64" // PLAIN or BASE64
}
]
}
Экстрактор параметров get-запроса#
Данный экстрактор сохраняет в контекст значения параметров GET-запроса в соответствии с указанным маппингом.
{
"type": "get-params-extractor",
// Режим работы экстрактора: STRICT или LENIENT
// В режиме STRICT экстрактор возвращает ошибку, если в запросе есть параметры, не указанные в маппинге
// По умолчанию STRICT
"mode": "STRICT",
"mapping": [
{
"source": "id",
"target": "userId",
"required": true, // Обязательный или опциональный параметр. По умолчанию true
},
{
"source": "orgId",
"target": "orgId",
"required": false
}
]
}
Экстрактор параметров post-запроса#
Данный экстрактор сохраняет в контекст значения параметров POST-запроса с содержимым application/x-www-form-urlencoded в соответствии с указанным маппингом. Если у содержимого запроса другой тип, экстрактор вернет ошибку.
{
"type": "post-params-extractor",
// Режим работы экстрактора: STRICT или LENIENT
// В режиме STRICT экстрактор возвращает ошибку, если в запросе есть параметры, не указанные в маппинге
// По умолчанию STRICT
"mode": "STRICT",
"mapping": [
{
"source": "id",
"target": "userId",
"required": true, // Обязательный или опциональный параметр. По умолчанию true
},
{
"source": "orgId",
"target": "orgId",
"required": false
}
]
}
Экстрактор параметров из пути запроса#
Данный экстрактор сохраняет в контекст значения из пути запроса в соответствии с заданным шаблоном.
Синтаксис:
*- любое значение сегмента пути${varName}- значение сегмента будет сохранено в контекст с ключом varName**- произвольное количество сегментов пути от 1 и более. Может использоваться только в конце шаблонаВ остальных случаях значение из шаблона будет сравниваться со значением сегмента на строгое равенство (константа)
{
// api - любое значение - users - сохранение с ключом operation - любое число сегментов
"template": "/api/*/users/${operation}/**"
}