AppFramework:
- get request from the server container - implement registerMiddleWare() - adding getAppName() to app container
This commit is contained in:
parent
db39fede97
commit
b2ef978d10
2 changed files with 37 additions and 25 deletions
|
@ -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');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue