protected static function handleForwardException($e) { $slotNames = Q_Request::slotNames(true); foreach ($slotNames as $slotName) { Q_Response::clearSlot($slotName); } // Go again, this time with a different URI. Q::$toolWasRendered = array(); self::$uri = Q_Uri::from($e->uri); if (is_array($e->skip)) { self::$skip = $e->skip; } else { // Don't process any non-GET methods this time around, // Do not collect any analytics // And also ignore any accumulated errors self::$skip = array('Q/method' => true, 'Q/analytics' => true, 'Q/errors' => true); } // We'll be handling errors anew self::$handling_errors = false; }