From b2ef978d1069d5e7e172806a9e2426de2717a1f2 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Thomas=20M=C3=BCller?= Date: Wed, 25 Sep 2013 10:30:48 +0200 Subject: [PATCH] AppFramework: - get request from the server container - implement registerMiddleWare() - adding getAppName() to app container --- .../dependencyinjection/dicontainer.php | 50 +++++++++---------- lib/public/appframework/iappcontainer.php | 12 +++++ 2 files changed, 37 insertions(+), 25 deletions(-) diff --git a/lib/appframework/dependencyinjection/dicontainer.php b/lib/appframework/dependencyinjection/dicontainer.php index 2ef885d7b2c..54878266939 100644 --- a/lib/appframework/dependencyinjection/dicontainer.php +++ b/lib/appframework/dependencyinjection/dicontainer.php @@ -34,6 +34,8 @@ use OC\AppFramework\Utility\SimpleContainer; use OC\AppFramework\Utility\TimeFactory; use OCP\AppFramework\IApi; use OCP\AppFramework\IAppContainer; +use OCP\AppFramework\IMiddleWare; +use OCP\IServerContainer; class DIContainer extends SimpleContainer implements IAppContainer{ @@ -57,31 +59,10 @@ class DIContainer extends SimpleContainer implements IAppContainer{ * Http */ $this['Request'] = $this->share(function($c) { - - $params = array(); - - // we json decode the body only in case of content type json - if (isset($_SERVER['CONTENT_TYPE']) && stripos($_SERVER['CONTENT_TYPE'],'json') === true ) { - $params = json_decode(file_get_contents('php://input'), true); - $params = is_array($params) ? $params: array(); - } - - return new Request( - array( - 'get' => $_GET, - 'post' => $_POST, - 'files' => $_FILES, - 'server' => $_SERVER, - 'env' => $_ENV, - 'session' => $_SESSION, - 'cookies' => $_COOKIE, - 'method' => (isset($_SERVER) && isset($_SERVER['REQUEST_METHOD'])) - ? $_SERVER['REQUEST_METHOD'] - : null, - 'params' => $params, - 'urlParams' => $c['urlParams'] - ) - ); + /** @var $c SimpleContainer */ + /** @var $server IServerContainer */ + $server = $c->query('ServerContainer'); + return $server->getRequest(); }); $this['Protocol'] = $this->share(function($c){ @@ -138,4 +119,23 @@ class DIContainer extends SimpleContainer implements IAppContainer{ { return $this->query('ServerContainer'); } + + /** + * @param IMiddleWare $middleWare + * @return boolean + */ + function registerMiddleWare(IMiddleWare $middleWare) { + /** @var $dispatcher MiddlewareDispatcher */ + $dispatcher = $this->query('MiddlewareDispatcher'); + $dispatcher->registerMiddleware($middleWare); + + } + + /** + * used to return the appname of the set application + * @return string the name of your application + */ + function getAppName() { + return $this->query('AppName'); + } } diff --git a/lib/public/appframework/iappcontainer.php b/lib/public/appframework/iappcontainer.php index c8f6229dd9e..7d3b4b3bac7 100644 --- a/lib/public/appframework/iappcontainer.php +++ b/lib/public/appframework/iappcontainer.php @@ -33,6 +33,12 @@ use OCP\IContainer; */ interface IAppContainer extends IContainer{ + /** + * used to return the appname of the set application + * @return string the name of your application + */ + function getAppName(); + /** * @return IApi */ @@ -42,4 +48,10 @@ interface IAppContainer extends IContainer{ * @return \OCP\IServerContainer */ function getServer(); + + /** + * @param IMiddleWare $middleWare + * @return boolean + */ + function registerMiddleWare(IMiddleWare $middleWare); } -- 2.39.5