/**
* Filter an AjaxResponse through a plugin hook
*
* @param AjaxResponse $api_response The API Response
* @param string $hook_type The hook type. If given, the response will be filtered by hook
*
* @return AjaxResponse
*/
private function filterApiResponse(AjaxResponse $api_response, $hook_type = '')
{
$api_response->setTtl($this->input->get('response_ttl', 0, false));
if ($hook_type) {
$hook = AjaxResponse::RESPONSE_HOOK;
$api_response = $this->hooks->trigger($hook, $hook_type, null, $api_response);
if (!$api_response instanceof AjaxResponse) {
throw new \RuntimeException("The value returned by hook [{$hook}, {$hook_type}] was not an ApiResponse");
}
}
return $api_response;
}