/** * Parse request URL into components and return a corresponding MVC request object * * @return midgardmvc_core_request */ public function get_request() { $request = new midgardmvc_core_request(); $request->set_method($this->appserver_context['env']['REQUEST_METHOD']); if (isset($this->appserver_context['env']['HTTP_X_HTTP_METHOD_OVERRIDE'])) { $request->set_method($this->appserver_context['env']['HTTP_X_HTTP_METHOD_OVERRIDE']); } // Parse URL into components (Mjolnir doesn't do this for us) $url_components = parse_url("http://{$this->appserver_context['env']['HTTP_HOST']}{$this->appserver_context['env']['REQUEST_URI']}"); // Handle GET parameters if (!empty($url_components['query'])) { $get_parameters = array(); parse_str($url_components['query'], $get_parameters); $request->set_query($get_parameters); } $request->resolve_node($url_components['path']); return $request; }
/** * Parse request URL into components and return a corresponding MVC request object * * @return midgardmvc_core_request */ public function get_request() { $request = new midgardmvc_core_request(); /*if (function_exists('getallheaders')) *{ * // TODO: Check for GData and CMIS compatible X-Method-Override *} */ $request->set_method($_SERVER['REQUEST_METHOD']); // Parse URL into components $url_components = parse_url("http://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}"); // Handle GET parameters if (!empty($url_components['query'])) { $get_parameters = array(); parse_str($url_components['query'], $get_parameters); $request->set_query($get_parameters); } $request->resolve_node($url_components['path']); return $request; }
public function test_intent_request() { $request = new midgardmvc_core_request(); $request->resolve_node('/subdir'); $newreq = midgardmvc_core_request::get_for_intent($request); $this->assertEquals($request->get_path(), $newreq->get_path()); }