/** * Führt den Request aus * * Gibt die Ausgabe des Calls vom Controller zurück * wenn man den Request nicht selbst erstellen will, kann man * * \Psc\URL\Service\Request::infer(); * * benutzen. */ public function process(Request $request) { // required $service = $this->getRegisteredService($request->getPart(1)); $call = new Call(mb_strtolower($request->getMethod())); // identifier ist optional if (($identifier = $request->getPart(2)) !== NULL) { $call->addParameter($identifier); /* alle Subs weitergeben als weitere Parameter */ foreach ($request->getPartsFrom(3) as $p) { $call->addParameter($p); } } else { $call->setName('index'); } if ($request->getMethod() === Request::POST || $request->getMethod() === Request::PUT) { $call->addParameter($request->getBody()); } $this->call = $call; $this->service = $service; return $this->call(); }