Документация1С-Битрикс: Модулиnative.apiРазработчикамСобытия

Обработка запроса

Во всех событиях доступен apiContext — контекст API.

СобытиеОстальные параметрыЧто можно изменить
onBeforeParametersrouteРоут; параметры запроса через apiContext->setParams()
onAfterParametersroute, exceptionРоут и ошибку проверки
onBeforeControllerrouteРоут перед вызовом контроллера
onAfterControllerroute, responseМассив, возвращённый контроллером
onBeforeResponsehttpRequest, responseГотовый Bitrix\Main\HttpResponse
onAfterResponsehttpRequest, responseОтвет уже отправлен

Параметры

В onAfterParameters параметр exception содержит ошибку проверки или null. Чтобы отменить ошибку и продолжить запрос, верните EventResult::SUCCESS с exception => null.

Контроллер

В onAfterController можно заменить массив response через EventResult::SUCCESS. При попадании в кеш события контроллера не вызываются; проверки доступа и параметров сохраняются.

Ответ

В onBeforeResponse можно заменить готовый Bitrix\Main\HttpResponse. Возврат массива или HttpResponse досрочно завершает обработку, включая следующих обработчиков и onAfterResponse.

onAfterResponse в HTTP выполняется фоновой задачей после отправки ответа; выполнение при аварийном завершении процесса не гарантируется. В CLI обработчики вызываются сразу в этой точке кода. В обоих режимах результат обработчика не меняет отправленный ответ. Возврат массива или HttpResponse прекращает только следующих обработчиков этого события; второй ответ не отправляется.

Константы — в справочнике ModuleEventConfig.