/**
* Decides based on the presence of a closure or a filter
* which way to go for filtering.
*
* @throws \RuntimeException
* @param \Prowl\Message $oMessage
* @param string $sContent
* @return string
*/
private function filter(\Prowl\Message $oMessage, $sContent)
{
if ($oMessage->getFilterCallback() != null) {
$cFilter = $oMessage->getFilterCallback();
return $cFilter($sContent);
} elseif ($oMessage->getFilter() != null) {
$oFilter = $oMessage->getFilter();
return $oFilter->filter($sContent);
} else {
throw new \RuntimeException("No filter set, abort.");
}
}