<?php
/**
 * Fuel is a fast, lightweight, community driven PHP5 framework.
 *
 * @package    Fuel
 * @version    1.5
 * @author     Fuel Development Team
 * @license    MIT License
 * @copyright  2010 - 2013 Fuel Development Team
 * @link       http://fuelphp.com
 */

/**
 * Set error reporting and display errors settings.  You will want to change these when in production.
 */
error_reporting(-1);
ini_set('display_errors'1);

/**
 * Website document root
 */
define('DOCROOT'__DIR__.DIRECTORY_SEPARATOR);

/**
 * Path to the application directory.
 */
define('APPPATH'realpath(__DIR__.'/../fuel/app/').DIRECTORY_SEPARATOR);

/**
 * Path to the default packages directory.
 */
define('PKGPATH'realpath(__DIR__.'/../fuel/packages/').DIRECTORY_SEPARATOR);

/**
 * The path to the framework core.
 */
define('COREPATH'realpath(__DIR__.'/../fuel/core/').DIRECTORY_SEPARATOR);

// Get the start time and memory for use later
defined('FUEL_START_TIME') or define('FUEL_START_TIME'microtime(true));
defined('FUEL_START_MEM') or define('FUEL_START_MEM'memory_get_usage());

// Boot the app
require APPPATH.'bootstrap.php';

// Generate the request, execute it and send the output.
try
{
    
$response Request::forge()->execute()->response();
}
catch (
HttpNotFoundException $e)
{
    
$route array_key_exists('_404_'Router::$routes) ? Router::$routes['_404_']->translation Config::get('routes._404_');

    if(
$route instanceof Closure)
    {
        
$response $route();

        if( ! 
$response instanceof Response)
        {
            
$response Response::forge($response);
        }
    }
    elseif (
$route)
    {
        
$response Request::forge($routefalse)->execute()->response();
    }
    else
    {
        throw 
$e;
    }
}

$response->send(true);