Remove HttpRequest from constructor but only for remote(), so not an argument anymore
This commit is contained in:
parent
e8becc2fae
commit
402f7c7f06
|
@ -44,14 +44,8 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public function __construct($path=null, $params=null){
|
public function __construct($path=null, $params=null){
|
||||||
/* [1] Fetch HttpRequest correct data
|
|
||||||
=========================================================*/
|
|
||||||
/* (1) Parse HttpRequest data because php doesn't parse it for non-POST HTTP method */
|
|
||||||
$httprequest = new HttpRequest();
|
|
||||||
$_POST = $httprequest->POST();
|
|
||||||
|
|
||||||
|
/* [1] Initialisation
|
||||||
/* [2] Initialisation
|
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
/* (1) Erreur par défaut */
|
/* (1) Erreur par défaut */
|
||||||
$this->error = new Error(Err::Success);
|
$this->error = new Error(Err::Success);
|
||||||
|
@ -63,7 +57,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* [3] On met a jour la configuration
|
/* [2] On met a jour la configuration
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
/* (1) Section Title */
|
/* (1) Section Title */
|
||||||
$this->modules = json_decode( file_get_contents(self::config_path()), true );
|
$this->modules = json_decode( file_get_contents(self::config_path()), true );
|
||||||
|
@ -76,7 +70,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* [4] Verification des types des parametres
|
/* [3] Verification des types des parametres
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
/* (1) Section Title */
|
/* (1) Section Title */
|
||||||
if( !is_string($path) ){ // Si le type est incorrect
|
if( !is_string($path) ){ // Si le type est incorrect
|
||||||
|
@ -91,30 +85,30 @@
|
||||||
$this->http_method = strtoupper($_SERVER['REQUEST_METHOD']);
|
$this->http_method = strtoupper($_SERVER['REQUEST_METHOD']);
|
||||||
|
|
||||||
|
|
||||||
/* [5] Verification du chemin (existence module+methode)
|
/* [4] Verification du chemin (existence module+methode)
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
if( !$this->checkPath($path) ) // Verification de la coherence du chemin + attribution
|
if( !$this->checkPath($path) ) // Verification de la coherence du chemin + attribution
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|
||||||
/* [6] Verification des droits
|
/* [5] Verification des droits
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
if( !$this->checkPermission() ) // Si on a pas les droits
|
if( !$this->checkPermission() ) // Si on a pas les droits
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|
||||||
/* [7] Verification des parametres (si @type est defini)
|
/* [6] Verification des parametres (si @type est defini)
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
if( !$this->checkParams($params) ) // Verification de tous les types
|
if( !$this->checkParams($params) ) // Verification de tous les types
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
|
||||||
/* [8] Récupèration des options
|
/* [7] Récupèration des options
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$this->buildOptions();
|
$this->buildOptions();
|
||||||
|
|
||||||
|
|
||||||
/* [9] Construction de l'objet (add http method to params)
|
/* [8] Construction de l'objet (add http method to params)
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
$this->params = $params;
|
$this->params = $params;
|
||||||
$this->params['HTTP_METHOD'] = $this->http_method;
|
$this->params['HTTP_METHOD'] = $this->http_method;
|
||||||
|
@ -137,7 +131,7 @@
|
||||||
/* (1) Check instance type */
|
/* (1) Check instance type */
|
||||||
if( !($instance instanceof AuthSystem) )
|
if( !($instance instanceof AuthSystem) )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
/* (2) Store instance */
|
/* (2) Store instance */
|
||||||
self::$authsystem = $instance;
|
self::$authsystem = $instance;
|
||||||
}
|
}
|
||||||
|
@ -318,7 +312,6 @@
|
||||||
/* DESERIALISATION A PARTIR DE L'URL ET DES DONNEES POST (OPT)
|
/* DESERIALISATION A PARTIR DE L'URL ET DES DONNEES POST (OPT)
|
||||||
*
|
*
|
||||||
* @url<String> Contenu de l'url formatté (commence à "/module/methode")
|
* @url<String> Contenu de l'url formatté (commence à "/module/methode")
|
||||||
* @post<Array> [opt] Tableau des donnes
|
|
||||||
*
|
*
|
||||||
* @return instance<Request> Retourne un objet de type <Request>
|
* @return instance<Request> Retourne un objet de type <Request>
|
||||||
*
|
*
|
||||||
|
@ -329,11 +322,17 @@
|
||||||
* les données peuvent être dans les données $_POST
|
* les données peuvent être dans les données $_POST
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static function remote($url, $data=null){
|
public static function remote($url){
|
||||||
is_null($data) && ($data = []);
|
|
||||||
|
|
||||||
|
/* [1] Fetch HttpRequest correct data
|
||||||
|
=========================================================*/
|
||||||
|
/* (1) Parse HttpRequest data because php doesn't parse it for non-POST HTTP method */
|
||||||
|
$httprequest = new HttpRequest();
|
||||||
|
$_POST = $httprequest->POST();
|
||||||
|
|
||||||
/* [1] On verifie que le @path est renseigne
|
$data = $_POST;
|
||||||
|
|
||||||
|
/* [2] On verifie que le @path est renseigne
|
||||||
=========================================================*/
|
=========================================================*/
|
||||||
/* (1) Si le path est dans @url */
|
/* (1) Si le path est dans @url */
|
||||||
$pathInUrl = is_string($url) && preg_match('#^/?([\w_-]+/[\w_-]+)(?:/?|/((?:\w+/)*(?:\w+/?)))$#', $url, $urlMatches);
|
$pathInUrl = is_string($url) && preg_match('#^/?([\w_-]+/[\w_-]+)(?:/?|/((?:\w+/)*(?:\w+/?)))$#', $url, $urlMatches);
|
||||||
|
@ -473,7 +472,7 @@
|
||||||
$classname = '\\api\\core\\AuthSystemDefault';
|
$classname = '\\api\\core\\AuthSystemDefault';
|
||||||
self::$authsystem = new $classname();
|
self::$authsystem = new $classname();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check permission using user-implemented AuthSystem
|
// Check permission using user-implemented AuthSystem
|
||||||
$granted = self::$authsystem::permission( $this->path['module'], $method['permissions'] );
|
$granted = self::$authsystem::permission( $this->path['module'], $method['permissions'] );
|
||||||
|
|
||||||
|
|
|
@ -133,7 +133,7 @@
|
||||||
|
|
||||||
/* (4) api/module/method -> Api */
|
/* (4) api/module/method -> Api */
|
||||||
$R->post('api(?:(/.*))/?', function($url){
|
$R->post('api(?:(/.*))/?', function($url){
|
||||||
$request = Request::remote($url[0], $_POST);
|
$request = Request::remote($url[0]);
|
||||||
$answer = $request->dispatch();
|
$answer = $request->dispatch();
|
||||||
|
|
||||||
// Si c'est une réponse (et non un download)
|
// Si c'est une réponse (et non un download)
|
||||||
|
|
Loading…
Reference in New Issue