From 91b154ea24ec11f6b51e54ae08a28b877f6708ad Mon Sep 17 00:00:00 2001 From: Bernhard Posselt Date: Wed, 9 Apr 2014 22:33:53 +0200 Subject: remove last reference from appframework, fix routing issue --- appinfo/app.php | 2 +- appinfo/routes.php | 145 +++++++++++++-------------- middleware/corsmiddleware.php | 8 +- tests/unit/middleware/CORSMiddlewareTest.php | 14 +-- 4 files changed, 84 insertions(+), 85 deletions(-) diff --git a/appinfo/app.php b/appinfo/app.php index b68ed51f0..a66a828c3 100644 --- a/appinfo/app.php +++ b/appinfo/app.php @@ -42,7 +42,7 @@ if(\OCP\App::isEnabled('appframework')){ 'order' => 10, // the route that will be shown on startup - 'href' => $api->linkToRoute('news_index'), + 'href' => $api->linkToRoute('news.page.index'), // the icon that will be shown in the navigation // this file needs to exist in img/example.png diff --git a/appinfo/routes.php b/appinfo/routes.php index e036bf803..b93c30841 100644 --- a/appinfo/routes.php +++ b/appinfo/routes.php @@ -29,86 +29,83 @@ use \OCP\AppFramework\App; use \OCA\News\App\News; -$app = new News(); -$app->registerRoutes($this, array( - 'routes' => array( +$application = new News(); +$application->registerRoutes($this, array('routes' => array( + // page + array('name' => 'page#index', 'url' => '/', 'verb' => 'GET'), + array('name' => 'page#settings', 'url' => '/settings', 'verb' => 'GET'), + array('name' => 'page#update_settings', 'url' => '/settings', 'verb' => 'POST'), - // page - array('name' => 'page#index', 'url' => '/', 'verb' => 'GET'), - array('name' => 'page#settings', 'url' => '/settings', 'verb' => 'GET'), - array('name' => 'page#update_settings', 'url' => '/settings', 'verb' => 'POST'), + // folders + array('name' => 'folder#index', 'url' => '/folders', 'verb' => 'GET'), + array('name' => 'folder#create', 'url' => '/folders', 'verb' => 'POST'), + array('name' => 'folder#delete', 'url' => '/folders/{folderId}', 'verb' => 'DELETE'), + array('name' => 'folder#restore', 'url' => '/folders/{folderId}/restore', 'verb' => 'POST'), + array('name' => 'folder#rename', 'url' => '/folders/{folderId}/rename', 'verb' => 'POST'), + array('name' => 'folder#read', 'url' => '/folders/{folderId}/read', 'verb' => 'POST'), + array('name' => 'folder#open', 'url' => '/folders/{folderId}/open', 'verb' => 'POST'), + array('name' => 'folder#collapse', 'url' => '/folders/{folderId}/collapse', 'verb' => 'POST'), - // folders - array('name' => 'folder#index', 'url' => '/folders', 'verb' => 'GET'), - array('name' => 'folder#create', 'url' => '/folders', 'verb' => 'POST'), - array('name' => 'folder#delete', 'url' => '/folders/{folderId}', 'verb' => 'DELETE'), - array('name' => 'folder#restore', 'url' => '/folders/{folderId}/restore', 'verb' => 'POST'), - array('name' => 'folder#rename', 'url' => '/folders/{folderId}/rename', 'verb' => 'POST'), - array('name' => 'folder#read', 'url' => '/folders/{folderId}/read', 'verb' => 'POST'), - array('name' => 'folder#open', 'url' => '/folders/{folderId}/open', 'verb' => 'POST'), - array('name' => 'folder#collapse', 'url' => '/folders/{folderId}/collapse', 'verb' => 'POST'), + // feeds + array('name' => 'feed#index', 'url' => '/feeds', 'verb' => 'GET'), + array('name' => 'feed#create', 'url' => '/feeds', 'verb' => 'POST'), + array('name' => 'feed#delete', 'url' => '/feeds/{feedId}', 'verb' => 'DELETE'), + array('name' => 'feed#restore', 'url' => '/feeds/{feedId}/restore', 'verb' => 'POST'), + array('name' => 'feed#move', 'url' => '/feeds/{feedId}/move', 'verb' => 'POST'), + array('name' => 'feed#rename', 'url' => '/feeds/{feedId}/rename', 'verb' => 'POST'), + array('name' => 'feed#read', 'url' => '/feeds/{feedId}/read', 'verb' => 'POST'), + array('name' => 'feed#update', 'url' => '/feeds/{feedId}/update', 'verb' => 'POST'), + array('name' => 'feed#active', 'url' => '/feeds/active', 'verb' => 'GET'), + array('name' => 'feed#import', 'url' => '/feeds/import/articles', 'verb' => 'POST'), - // feeds - array('name' => 'feed#index', 'url' => '/feeds', 'verb' => 'GET'), - array('name' => 'feed#create', 'url' => '/feeds', 'verb' => 'POST'), - array('name' => 'feed#delete', 'url' => '/feeds/{feedId}', 'verb' => 'DELETE'), - array('name' => 'feed#restore', 'url' => '/feeds/{feedId}/restore', 'verb' => 'POST'), - array('name' => 'feed#move', 'url' => '/feeds/{feedId}/move', 'verb' => 'POST'), - array('name' => 'feed#rename', 'url' => '/feeds/{feedId}/rename', 'verb' => 'POST'), - array('name' => 'feed#read', 'url' => '/feeds/{feedId}/read', 'verb' => 'POST'), - array('name' => 'feed#update', 'url' => '/feeds/{feedId}/update', 'verb' => 'POST'), - array('name' => 'feed#active', 'url' => '/feeds/active', 'verb' => 'GET'), - array('name' => 'feed#import', 'url' => '/feeds/import/articles', 'verb' => 'POST'), + // items + array('name' => 'item#index', 'url' => '/items', 'verb' => 'GET'), + array('name' => 'item#new_items', 'url' => '/items/new', 'verb' => 'GET'), + array('name' => 'item#readAll', 'url' => '/items/read', 'verb' => 'POST'), + array('name' => 'item#read', 'url' => '/items/{itemId}/read', 'verb' => 'POST'), + array('name' => 'item#unread', 'url' => '/items/{itemId}/unread', 'verb' => 'POST'), + array('name' => 'item#star', 'url' => '/items/{feedId}/{guidHash}/star', 'verb' => 'POST'), + array('name' => 'item#unstar', 'url' => '/items/{feedId}/{guidHash}/unstar', 'verb' => 'POST'), - // items - array('name' => 'item#index', 'url' => '/items', 'verb' => 'GET'), - array('name' => 'item#new_items', 'url' => '/items/new', 'verb' => 'GET'), - array('name' => 'item#readAll', 'url' => '/items/read', 'verb' => 'POST'), - array('name' => 'item#read', 'url' => '/items/{itemId}/read', 'verb' => 'POST'), - array('name' => 'item#unread', 'url' => '/items/{itemId}/unread', 'verb' => 'POST'), - array('name' => 'item#star', 'url' => '/items/{feedId}/{guidHash}/star', 'verb' => 'POST'), - array('name' => 'item#unstar', 'url' => '/items/{feedId}/{guidHash}/unstar', 'verb' => 'POST'), + // export + array('name' => 'export#opml', 'url' => '/export/opml', 'verb' => 'GET'), + array('name' => 'export#articles', 'url' => '/export/articles', 'verb' => 'GET'), - // export - array('name' => 'export#opml', 'url' => '/export/opml', 'verb' => 'GET'), - array('name' => 'export#articles', 'url' => '/export/articles', 'verb' => 'GET'), + // API + array('name' => 'api#version', 'url' => '/api/v1-2/version', 'verb' => 'GET'), + array('name' => 'api#update', 'url' => '/api/v1-2/update', 'verb' => 'GET'), + array('name' => 'api#before_update', 'url' => '/api/v1-2/cleanup/before-update', 'verb' => 'GET'), + array('name' => 'api#after_update', 'url' => '/api/v1-2/cleanup/after-update', 'verb' => 'GET'), + array('name' => 'api#cors', 'url' => '/api/v1-2/{path}', 'verb' => 'OPTIONS', 'requirements' => array('path' => '.+')), - // API - array('name' => 'api#version', 'url' => '/api/v1-2/version', 'verb' => 'GET'), - array('name' => 'api#update', 'url' => '/api/v1-2/update', 'verb' => 'GET'), - array('name' => 'api#before_update', 'url' => '/api/v1-2/cleanup/before-update', 'verb' => 'GET'), - array('name' => 'api#after_update', 'url' => '/api/v1-2/cleanup/after-update', 'verb' => 'GET'), - array('name' => 'api#cors', 'url' => '/api/v1-2/{path}', 'verb' => 'OPTIONS', 'requirements' => array('path' => '.+')), + // folders + array('name' => 'folder_api#index', 'url' => '/api/v1-2/folders', 'verb' => 'GET'), + array('name' => 'folder_api#create', 'url' => '/api/v1-2/folders', 'verb' => 'POST'), + array('name' => 'folder_api#put', 'url' => '/api/v1-2/folders/{folderId}', 'verb' => 'PUT'), + array('name' => 'folder_api#delete', 'url' => '/api/v1-2/folders/{folderId}', 'verb' => 'DELETE'), + array('name' => 'folder_api#read', 'url' => '/api/v1-2/folders/{folderId}/read', 'verb' => 'PUT'), // FIXME: POST would be more correct - // folders - array('name' => 'folder_api#index', 'url' => '/api/v1-2/folders', 'verb' => 'GET'), - array('name' => 'folder_api#create', 'url' => '/api/v1-2/folders', 'verb' => 'POST'), - array('name' => 'folder_api#put', 'url' => '/api/v1-2/folders/{folderId}', 'verb' => 'PUT'), - array('name' => 'folder_api#delete', 'url' => '/api/v1-2/folders/{folderId}', 'verb' => 'DELETE'), - array('name' => 'folder_api#read', 'url' => '/api/v1-2/folders/{folderId}/read', 'verb' => 'PUT'), // FIXME: POST would be more correct + // feeds + array('name' => 'feed_api#index', 'url' => '/api/v1-2/feeds', 'verb' => 'GET'), + array('name' => 'feed_api#create', 'url' => '/api/v1-2/feeds', 'verb' => 'POST'), + array('name' => 'feed_api#put', 'url' => '/api/v1-2/feeds/{feedId}', 'verb' => 'PUT'), + array('name' => 'feed_api#delete', 'url' => '/api/v1-2/feeds/{feedId}', 'verb' => 'DELETE'), + array('name' => 'feed_api#from_all_users', 'url' => '/api/v1-2/feeds/all', 'verb' => 'GET'), + array('name' => 'feed_api#move', 'url' => '/api/v1-2/feeds/{feedId}/move', 'verb' => 'PUT'), // FIXME: POST would be more correct + array('name' => 'feed_api#rename', 'url' => '/api/v1-2/feeds/{feedId}/rename', 'verb' => 'PUT'), // FIXME: POST would be more correct + array('name' => 'feed_api#read', 'url' => '/api/v1-2/feeds/{feedId}/read', 'verb' => 'PUT'), // FIXME: POST would be more correct - // feeds - array('name' => 'feed_api#index', 'url' => '/api/v1-2/feeds', 'verb' => 'GET'), - array('name' => 'feed_api#create', 'url' => '/api/v1-2/feeds', 'verb' => 'POST'), - array('name' => 'feed_api#put', 'url' => '/api/v1-2/feeds/{feedId}', 'verb' => 'PUT'), - array('name' => 'feed_api#delete', 'url' => '/api/v1-2/feeds/{feedId}', 'verb' => 'DELETE'), - array('name' => 'feed_api#from_all_users', 'url' => '/api/v1-2/feeds/all', 'verb' => 'GET'), - array('name' => 'feed_api#move', 'url' => '/api/v1-2/feeds/{feedId}/move', 'verb' => 'PUT'), // FIXME: POST would be more correct - array('name' => 'feed_api#rename', 'url' => '/api/v1-2/feeds/{feedId}/rename', 'verb' => 'PUT'), // FIXME: POST would be more correct - array('name' => 'feed_api#read', 'url' => '/api/v1-2/feeds/{feedId}/read', 'verb' => 'PUT'), // FIXME: POST would be more correct - - // items - array('name' => 'item_api#index', 'url' => '/api/v1-2/items', 'verb' => 'GET'), - array('name' => 'item_api#updated', 'url' => '/api/v1-2/items/updated', 'verb' => 'GET'), - array('name' => 'item_api#read', 'url' => '/api/v1-2/feeds/{itemId}/read', 'verb' => 'PUT'), // FIXME: POST would be more correct - array('name' => 'item_api#unread', 'url' => '/api/v1-2/feeds/{itemId}/unread', 'verb' => 'PUT'), // FIXME: POST would be more correct - array('name' => 'item_api#read_all', 'url' => '/api/v1-2/feeds/read', 'verb' => 'PUT'), // FIXME: POST would be more correct - array('name' => 'item_api#read_multiple', 'url' => '/api/v1-2/feeds/read/multiple', 'verb' => 'PUT'), // FIXME: POST would be more correct - array('name' => 'item_api#unread_multiple', 'url' => '/api/v1-2/feeds/unread/multiple', 'verb' => 'PUT'), // FIXME: POST would be more correct - array('name' => 'item_api#star', 'url' => '/api/v1-2/feeds/{feedId}/{guidHash}/star', 'verb' => 'PUT'), // FIXME: POST would be more correct - array('name' => 'item_api#unstar', 'url' => '/api/v1-2/feeds/{feedId}/{guidHash}/unstar', 'verb' => 'PUT'), // FIXME: POST would be more correct - array('name' => 'item_api#star_multiple', 'url' => '/api/v1-2/feeds/star/multiple', 'verb' => 'PUT'), // FIXME: POST would be more correct - array('name' => 'item_api#unstar_multiple', 'url' => '/api/v1-2/feeds/unstar/multiple', 'verb' => 'PUT') // FIXME: POST would be more correct - ) -)); + // items + array('name' => 'item_api#index', 'url' => '/api/v1-2/items', 'verb' => 'GET'), + array('name' => 'item_api#updated', 'url' => '/api/v1-2/items/updated', 'verb' => 'GET'), + array('name' => 'item_api#read', 'url' => '/api/v1-2/feeds/{itemId}/read', 'verb' => 'PUT'), // FIXME: POST would be more correct + array('name' => 'item_api#unread', 'url' => '/api/v1-2/feeds/{itemId}/unread', 'verb' => 'PUT'), // FIXME: POST would be more correct + array('name' => 'item_api#read_all', 'url' => '/api/v1-2/feeds/read', 'verb' => 'PUT'), // FIXME: POST would be more correct + array('name' => 'item_api#read_multiple', 'url' => '/api/v1-2/feeds/read/multiple', 'verb' => 'PUT'), // FIXME: POST would be more correct + array('name' => 'item_api#unread_multiple', 'url' => '/api/v1-2/feeds/unread/multiple', 'verb' => 'PUT'), // FIXME: POST would be more correct + array('name' => 'item_api#star', 'url' => '/api/v1-2/feeds/{feedId}/{guidHash}/star', 'verb' => 'PUT'), // FIXME: POST would be more correct + array('name' => 'item_api#unstar', 'url' => '/api/v1-2/feeds/{feedId}/{guidHash}/unstar', 'verb' => 'PUT'), // FIXME: POST would be more correct + array('name' => 'item_api#star_multiple', 'url' => '/api/v1-2/feeds/star/multiple', 'verb' => 'PUT'), // FIXME: POST would be more correct + array('name' => 'item_api#unstar_multiple', 'url' => '/api/v1-2/feeds/unstar/multiple', 'verb' => 'PUT') // FIXME: POST would be more correct +))); diff --git a/middleware/corsmiddleware.php b/middleware/corsmiddleware.php index 2c6919b91..20d6fc32a 100644 --- a/middleware/corsmiddleware.php +++ b/middleware/corsmiddleware.php @@ -24,9 +24,9 @@ namespace OCA\News\Middleware; -use OCA\AppFramework\Http\Request; -use OCA\AppFramework\Http\Response; -use OCA\AppFramework\Middleware\Middleware; +use OCP\IRequest; +use OCP\AppFramework\Http\Response; +use OCP\AppFramework\Middleware; use OCA\News\Utility\MethodAnnotationReader; @@ -34,7 +34,7 @@ class CORSMiddleware extends Middleware { private $request; - public function __construct(Request $request) { + public function __construct(IRequest $request) { $this->request = $request; } diff --git a/tests/unit/middleware/CORSMiddlewareTest.php b/tests/unit/middleware/CORSMiddlewareTest.php index f6baabac7..96a50d88c 100644 --- a/tests/unit/middleware/CORSMiddlewareTest.php +++ b/tests/unit/middleware/CORSMiddlewareTest.php @@ -24,20 +24,22 @@ namespace OCA\News\Middleware; -use OCA\AppFramework\Http\Request; -use OCA\AppFramework\Http\Response; +use OCP\IRequest; +use OCP\AppFramework\Http\Response; + +use OCA\News\Utility\ControllerTestUtility; require_once(__DIR__ . "/../../classloader.php"); -class CORSMiddlewareTest extends \PHPUnit_Framework_TestCase { +class CORSMiddlewareTest extends ControllerTestUtility { /** * @API */ public function testSetCORSAPIHeader() { - $request = new Request( + $request = $this->getRequest( array('server' => array('HTTP_ORIGIN' => 'test')) ); $middleware = new CORSMiddleware($request); @@ -51,7 +53,7 @@ class CORSMiddlewareTest extends \PHPUnit_Framework_TestCase { public function testNoAPINoCORSHEADER() { - $request = new Request(); + $request = $this->getRequest(); $middleware = new CORSMiddleware($request); $response = $middleware->afterController('\OCA\News\Middleware\CORSMiddlewareTest', 'testNoAPINoCORSHEADER', @@ -65,7 +67,7 @@ class CORSMiddlewareTest extends \PHPUnit_Framework_TestCase { * @API */ public function testNoOriginHeaderNoCORSHEADER() { - $request = new Request(); + $request = $this->getRequest(); $middleware = new CORSMiddleware($request); $response = $middleware->afterController('\OCA\News\Middleware\CORSMiddlewareTest', 'testNoOriginHeaderNoCORSHEADER', -- cgit v1.2.3