function bootstrap_inertia_($method, $path, $query, $headers, $body) { $query = remove_path_hacks_($query); if (handler_exists_(INERTIA_BOOTSTRAP_HANDLER)) { return request_(INERTIA_BOOTSTRAP_HANDLER, $method, $path, $query, $headers, $body); } else { return inertia_default_response_($path, inertia_relative_uri_($path)); } }
function test_handler_match_() { should_return(handler_('GET', array('/', '/{home}'), array(), array('func')), when_passed(handler_('GET', array('/', '/{home}'), array(), array('func')), request_(array('method' => 'GET', 'path' => '/hand')))); should_return(handler_('GET', array('/'), array(), array('func')), when_passed(handler_('GET', array('/'), array(), array('func')), request_(array('method' => 'GET', 'path' => '/', 'query' => array('foo' => 'bar'))))); should_return(handler_('GET', array('/'), array('query' => true), array('func')), when_passed(handler_('GET', array('/'), array('query' => true), array('func')), request_(array('method' => 'GET', 'path' => '/', 'query' => array('foo' => 'bar'))))); should_return(NULL, when_passed(handler_('GET', array('/'), array('query' => true), array('func')), request_(array('method' => 'GET', 'path' => '/', 'query' => array())))); should_return(handler_('POST', array('/'), array('action' => 'save_me'), array('func')), when_passed(handler_('POST', array('/'), array('action' => 'save_me'), array('func')), request_(array('method' => 'POST', 'path' => '/', 'form' => array('action' => 'Save Me'))))); should_return(handler_('POST', array('/'), array(), array('func')), when_passed(handler_('POST', array('/'), array(), array('func')), request_(array('method' => 'POST', 'path' => '/', 'form' => array('action' => 'Save Me'))))); should_return(NULL, when_passed(handler_('POST', array('/'), array('action' => 'save'), array('func')), request_(array('method' => 'POST', 'path' => '/', 'form' => array('action' => 'Save Me'))))); should_return(NULL, when_passed(handler_('POST', array('/'), array('action' => 'save'), array('func')), request_(array('method' => 'POST', 'path' => '/', 'form' => array())))); }
function yield_to_glue() { map_request_to_handler(request_(), routes()); }
function handler_macro($method, $paths, $conds, $func) { $req = request_(); $handler = handler_($method, $paths, $conds, $func); if (handler_match_($handler, $req, $matches)) { if (is_callable($handler['func'])) { call_user_func_array($handler['func'], array_merge(array($req, $matches))); } else { trigger_error_("Invalid handler macro func", E_USER_ERROR); } } }