summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorThomas Müller <thomas.mueller@tmit.eu>2013-09-25 10:30:48 +0200
committerThomas Müller <thomas.mueller@tmit.eu>2013-09-25 10:30:48 +0200
commitb2ef978d1069d5e7e172806a9e2426de2717a1f2 (patch)
tree3f81aaba0e83930b97b1494cd8e3df14f8f1c4c1 /lib
parentdb39fede97dc4d6b9a5caf739cb2c03b4dbdd21d (diff)
downloadnextcloud-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.php50
-rw-r--r--lib/public/appframework/iappcontainer.php12
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);
}