0
0
Fork 0
mirror of https://github.com/nextcloud/server.git synced 2025-03-15 00:43:23 +00:00

Fix for running doing routing in lib/ocs.php

This commit is contained in:
Bart Visscher 2012-08-11 00:04:43 +02:00
parent f63b9b44d8
commit 87d1cdb945
3 changed files with 14 additions and 5 deletions

View file

@ -23,6 +23,9 @@
*
*/
use Symfony\Component\Routing\Exception\ResourceNotFoundException;
use Symfony\Component\Routing\Exception\MethodNotAllowedException;
/**
* Class to handle open collaboration services API requests
*
@ -93,7 +96,7 @@ class OC_OCS {
$format = self::readData($method, 'format', 'text', '');
$router = new OC_Router();
$router->useCollection('ocs');
$router->useCollection('root');
// CONFIG
$router->create('config', '/config.{format}')
->defaults(array('format' => $format))
@ -247,6 +250,8 @@ class OC_OCS {
$txt='Invalid query, please check the syntax. API specifications are here: http://www.freedesktop.org/wiki/Specifications/open-collaboration-services. DEBUG OUTPUT:'."\n";
$txt.=OC_OCS::getdebugoutput();
echo(OC_OCS::generatexml($format,'failed',999,$txt));
} catch (MethodNotAllowedException $e) {
OC_Response::setStatus(405);
}
exit();
}

View file

@ -50,7 +50,9 @@ class OC_Route extends Route {
if (isset($requirements['_method'])) {
$method = $requirements['_method'];
}
$this->method($method);
if ($method) {
$this->method($method);
}
return $this;
}

View file

@ -10,19 +10,21 @@ use Symfony\Component\Routing\Matcher\UrlMatcher;
use Symfony\Component\Routing\RequestContext;
use Symfony\Component\Routing\RouteCollection;
//use Symfony\Component\Routing\Route;
use Symfony\Component\Routing\Exception\ResourceNotFoundException;
class OC_Router {
protected $collections = array();
protected $collection = null;
protected $root = null;
public function __construct() {
// TODO cache
$this->root = $this->getCollection('root');
}
/**
* loads the api routes
*/
public function loadRoutes() {
// TODO cache
$this->root = $this->getCollection('root');
foreach(OC_APP::getEnabledApps() as $app){
$file = OC_App::getAppPath($app).'/appinfo/routes.php';
if(file_exists($file)){