public function run() {
        // Start session
        $session = $this->get('session');
        $session->start();

        // Route the request
        $uri = '';
        if (strcmp($this->mode, self::APP_MODE_DEV) == 0) {
            $uri = $_SERVER['REQUEST_URI'];
        } else {
            $uri = $_GET['url'];
        }

        // $baseUri not empty and $uri starts with $baseUri
        if (!empty($this->baseUri) && substr($uri, 0, strlen($this->baseUri)) === $this->baseUri) {
            // Extract $uri without $baseUri
            $uri = substr($uri, strlen($this->baseUri));
        }

        $this->get('router')->route($uri);
    }