public function testIsSSLOnReverseProxy() { $_SERVER['HTTP_X_FORWARDED_PROTO'] = 'https'; $request = Request::fromGlobals(); $this->assertTrue($request->isSSL()); $_SERVER['HTTP_X_FORWARDED_PROTO'] = 'http'; $request = Request::fromGlobals(); $this->assertFalse($request->isSSL()); }
public function testParseUrl() { Router::resource('companies'); Router::resource('companies.people'); Router::connect('/:controller/:action/:id', array()); Router::connect('/:controller/:action', array()); Router::connect('/:controller', array('action' => 'index')); $_SERVER['REQUEST_METHOD'] = 'GET'; $result = Router::parseUrl('/companies', Request::fromGlobals()); $expected = array('controller' => 'companies', 'controller_class' => 'CompaniesController', 'action' => 'index', 'action_method' => 'indexAction', 'args' => array(), 'namespace' => false, 'extension' => 'html'); $this->assertEquals($expected, $result); $_SERVER['REQUEST_METHOD'] = 'POST'; $result = Router::parseUrl('/companies', Request::fromGlobals()); $expected = array('controller' => 'companies', 'controller_class' => 'CompaniesController', 'action' => 'add', 'action_method' => 'addAction', 'args' => array(), 'namespace' => false, 'extension' => 'html'); $this->assertEquals($expected, $result); $_SERVER['REQUEST_METHOD'] = 'PUT'; $result = Router::parseUrl('/companies/1'); $expected = array('controller' => 'companies', 'controller_class' => 'CompaniesController', 'action' => 'edit', 'action_method' => 'editAction', 'args' => array('id' => '1'), 'namespace' => false, 'extension' => 'html'); $this->assertEquals($expected, $result); $_SERVER['REQUEST_METHOD'] = 'DELETE'; $result = Router::parseUrl('/companies/1', Request::fromGlobals()); $expected = array('controller' => 'companies', 'controller_class' => 'CompaniesController', 'action' => 'delete', 'action_method' => 'deleteAction', 'args' => array('id' => '1'), 'namespace' => false, 'extension' => 'html'); $this->assertEquals($expected, $result); $_SERVER['REQUEST_METHOD'] = 'GET'; $result = Router::parseUrl('/companies/1.json', Request::fromGlobals()); $expected = array('controller' => 'companies', 'controller_class' => 'CompaniesController', 'action' => 'view', 'action_method' => 'viewAction', 'args' => array('id' => '1'), 'namespace' => false, 'extension' => 'json'); $this->assertEquals($expected, $result); $_SERVER['REQUEST_METHOD'] = 'GET'; $result = Router::parseUrl('/companies/1/people/25.xml', Request::fromGlobals()); $expected = array('controller' => 'people', 'controller_class' => 'PeopleController', 'action' => 'view', 'action_method' => 'viewAction', 'args' => array('company_id' => '1', 'id' => '25'), 'namespace' => false, 'extension' => 'xml'); $this->assertEquals($expected, $result); $_SERVER['REQUEST_METHOD'] = 'GET'; $result = Router::parseUrl('/users/edit/23', Request::fromGlobals()); $expected = array('controller' => 'users', 'controller_class' => 'UsersController', 'action' => 'edit', 'action_method' => 'editAction', 'args' => array('id' => '23'), 'namespace' => false, 'extension' => 'html'); $this->assertEquals($expected, $result); }
<?php /** * RoxPHP * * Copyright (C) 2008 - 2011 Ramon Torres * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * * @copyright Copyright (c) 2008 - 2011 Ramon Torres * @package App * @license The MIT License (http://www.opensource.org/licenses/mit-license.php) */ // include the bootstrap file require dirname(__DIR__) . '/config/bootstrap.php'; use rox\action\Dispatcher; use rox\http\Request; $dispatcher = new Dispatcher(); $response = $dispatcher->dispatch(Request::fromGlobals()); $response->render();