Настройка постобработчика#
Постобработчик postprocessor_error предназначен для формирования сообщения об ошибке для клиента по указанному шаблону (см. параметр pattern_file) и по заданным правилам (см. параметр rules_file).
Опциональные параметры:
postprocessor_error
Тип параметра: группа параметров и их значения.
По умолчанию: не имеет значения по умолчанию.
Опциональные параметры:
code
В значении параметра определяется последовательность кодов ошибок, на основании которых будут сгенерированы сообщения для клиента.
code: - 403 - 404 - 500 - 502Тип параметра: последовательность целочисленных значений.
По умолчанию: не имеет значения по умолчанию.
pattern_file
В значении параметра указывается файл шаблона, который будет использован в качестве тела ответа.
pattern_file: errors_schema_v_1.0.jsonПри добавлении нового профиля данные шаблоны "подтягиваются" в профиль и находятся в директории: /sowa/[имя профиля]/common/error-templates. На основе данных шаблонов можно создавать необходимые файлы и использовать в ресурсах через custom_pattern_file.
Обязательно в случае:
custom_pattern_file is None.
Тип параметра:
OSWP_Error_template.json;
abo_errors_schema.json;
default_json.json;
errors_schema.json;
errors_schema_v_1.0.json;
vrvr_error_template.json;
workflow_error_schema.json.
По умолчанию: не имеет значения по умолчанию.
custom_pattern_file
В значении параметра указывается путь к файлу шаблона (относительно директории с custom'ыми ресурсами), который будет использован в качестве тела ответа.
custom_pattern_file: templates/error_schema.jsonПри добавлении нового профиля данные шаблоны "подтягиваются" в профиль и находятся в директории: /sowa/[имя профиля]/common/error-templates. На основе данных шаблонов можно создавать необходимые файлы и использовать в ресурсах через custom_pattern_file.
Обязательно в случае:
pattern_file is None.
Тип параметра: строковое значение.
По умолчанию: не имеет значения по умолчанию.
rules_file
В значении параметра задается файл с правилами, описывающий, как заполнять файл шаблона. По умолчанию - файл правил из системных ресурсов.
rules_file: rules.ymlПодробнее в разделе "Создание файла с правилами"
Тип параметра: строковое значение.
По умолчанию: Файл rules.yml.
content_type
В значении параметра определяется тип содержимого для заголовка ответа.
content_type: application/json;charset=UTF-8Тип параметра: строковое значение.
По умолчанию: не имеет значения по умолчанию.
grpc_error_processing
При включении изменяет поведение постпроцессора - позволяет изменять заголовки grpc-message и grpc-status вместо тела ответа и кода ответа соответственно.
Тип параметра:
true;
false.
По умолчанию:
grpc_error_processing: falseskip_for_upstream_statuses
В значении параметра указывается регулярное выражение для статусов ответов, по которым не будет использовано преобразование ответов от бэка.
Тип параметра: строковое значение.
По умолчанию: не имеет значения по умолчанию.
handle_upstream_errors
В значении параметра указывается, необходимо ли обрабатывать ошибки от upstream'а. Если
handle_upstream_errors: false, то ошибки от upstream'а (статус код от upstream'а больше или равен 300) не обрабатываются постпроцессором.
Тип параметра:
true;
false.
По умолчанию:
handle_upstream_errors: truehandle_upstream_errors_status
В значении параметра указывается список статусов, ограничивающий директиву handle_upstream_errors.
Используется в случае:
handle_upstream_errors: trueТип параметра: последовательность целочисленных значений.
По умолчанию: не имеет значения по умолчанию.
redirect
Обязательно в случае:
custom_pattern_file is None;
custom_pattern_file is None;
rules_file is None.
Тип параметра: текстовое значение.
По умолчанию: не имеет значения по умолчанию.
Обязательные параметры:
code
В значении параметра указывается статус код перенаправления.
Тип параметра:
301;
302;
303;
307;
По умолчанию: не имеет значения по умолчанию.
url
В значении параметра указывается url перенаправления, который будет проставлен в заголовке ответа location.
Тип параметра: текстовое значение.
По умолчанию: не имеет значения по умолчанию.
Пример использования параметра postprocessor_error:
postprocessors:
postprocessor_error:
code:
- 403
- 404
- 500
- 502
pattern_file: errors_schema_v_1.0.json
rules_file: rules.yml
content_type: application/json;charset=UTF-8
Формируемое сообщение об ошибке представляет собой структурированный файл любого формата (JSON, XML, etc.) с заранее заданными подсказками. Значения подсказок заполняются на основании заданных правил.
Например:
{
"errorCode" : {errorCode},
"errorMessage": {errorMessage}
}
Подсказки, заключенные в фигурные скобки: {errorCode} и {errorMessage}, описываются в файле rules.yml (см. раздел "Создание файла c правилами").