$responseInstance->flushBuffer();
}
+ /**
+ * Handles the given request and response, redirects to login_failed if
+ * UserAuthorizationException is thrown.
+ *
+ * @param $requestInstance An instance of a request class
+ * @param $responseInstance An instance of a response class
+ * @return void
+ */
+ public function genericHanleRequestLoginFailedRedirect (Requestable $requestInstance, Responseable $responseInstance) {
+ // Get the "form action"
+ $formAction = $requestInstance->getRequestElement('form');
+
+ // Get command instance from resolver
+ $commandInstance = $this->getResolverInstance()->resolveCommand($formAction);
+
+ // Add more filters by the command
+ $commandInstance->addExtraFilters($this, $requestInstance);
+
+ // Try to run the pre filters, if auth exceptions come through redirect here
+ try {
+ // Run the pre filters
+ $this->executePreFilters($requestInstance, $responseInstance);
+ } catch (UserAuthorizationException $e) {
+ // Redirect to main page
+ $responseInstance->redirectToConfiguredUrl('login_failed');
+
+ // Exit here
+ exit();
+ }
+
+ /*
+ * Is the request still valid? Post filters shall only be executed of
+ * the request is valid
+ */
+ if ($requestInstance->isRequestValid()) {
+ // Execute the command
+ $commandInstance->execute($requestInstance, $responseInstance);
+
+ // Execute *very* generic ppost filters
+ $this->executePostFilters($requestInstance, $responseInstance);
+ } // END - if
+
+ // Flush the buffer out
+ $responseInstance->flushBuffer();
+ }
+
/**
* Private method to initialize a given filter chain
*
* @return void
*/
public function handleRequest (Requestable $requestInstance, Responseable $responseInstance) {
- // Get the "form action"
- $formAction = $requestInstance->getRequestElement('form');
-
- // Get command instance from resolver
- $commandInstance = $this->getResolverInstance()->resolveCommand($formAction);
-
- // Add more filters by the command
- $commandInstance->addExtraFilters($this, $requestInstance);
-
- // Try to run the pre filters, if auth exceptions come through redirect here
- try {
- // Run the pre filters
- $this->executePreFilters($requestInstance, $responseInstance);
- } catch (UserAuthorizationException $e) {
- // Redirect to main page
- $responseInstance->redirectToConfiguredUrl('login_failed');
-
- // Exit here
- exit();
- }
-
- // Is the request still valid? Post filters shall only be executed of
- // the request is valid
- if ($requestInstance->isRequestValid()) {
- // Execute the command
- $commandInstance->execute($requestInstance, $responseInstance);
-
- // Execute *very* generic ppost filters
- $this->executePostFilters($requestInstance, $responseInstance);
- }
-
- // Flush the buffer out
- $responseInstance->flushBuffer();
+ // Generic handling with redirect to 'login_failed'
+ $this->genericHanleRequestLoginFailedRedirect($requestInstance, $responseInstance);
}
}