* @param $requestInstance An instance of a class with an Requestable interface
* @param $responseInstance An instance of a class with an Responseable interface
* @return void
+ * @throws FilterChainException If this filter fails to operate
*/
public function execute (Requestable $requestInstance, Responseable $responseInstance) {
// Get username from request
$responseInstance->addFatalMessage('username_unset');
// Abort here
- return false;
+ throw new FilterChainException($this, self::EXCEPTION_FILTER_CHAIN_INTERCEPTED);
} elseif (empty($userName)) {
// Empty field!
$requestInstance->requestIsValid(false);
$responseInstance->addFatalMessage('username_empty');
// Abort here
- return false;
+ throw new FilterChainException($this, self::EXCEPTION_FILTER_CHAIN_INTERCEPTED);
} elseif ($this->ifUserNameIsTaken($userName) === false) {
// Username is already taken
$requestInstance->requestIsValid(false);
$responseInstance->addFatalMessage('username_not_found');
// Abort here
- return false;
+ throw new FilterChainException($this, self::EXCEPTION_FILTER_CHAIN_INTERCEPTED);
}
}