diff options
author | Thomas Müller <thomas.mueller@tmit.eu> | 2013-09-25 10:30:48 +0200 |
---|---|---|
committer | Thomas Müller <thomas.mueller@tmit.eu> | 2013-09-25 10:30:48 +0200 |
commit | b2ef978d1069d5e7e172806a9e2426de2717a1f2 (patch) | |
tree | 3f81aaba0e83930b97b1494cd8e3df14f8f1c4c1 /lib | |
parent | db39fede97dc4d6b9a5caf739cb2c03b4dbdd21d (diff) | |
download | nextcloud-server-b2ef978d1069d5e7e172806a9e2426de2717a1f2.tar.gz nextcloud-server-b2ef978d1069d5e7e172806a9e2426de2717a1f2.zip |
AppFramework:
- get request from the server container
- implement registerMiddleWare()
- adding getAppName() to app container
Diffstat (limited to 'lib')
-rw-r--r-- | lib/appframework/dependencyinjection/dicontainer.php | 50 | ||||
-rw-r--r-- | 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 @@ -34,6 +34,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 */ function getCoreApi(); @@ -42,4 +48,10 @@ interface IAppContainer extends IContainer{ * @return \OCP\IServerContainer */ function getServer(); + + /** + * @param IMiddleWare $middleWare + * @return boolean + */ + function registerMiddleWare(IMiddleWare $middleWare); } |