Files
pathfinder/app/main/controller/api/rest/abstractrestcontroller.php
Mark Friedrich af59235b73 - new "undo" function for "signature table", closed #218, closed #726
- improved "signature table" added "loading" spinner if table gets updated or data is processed
- improved ajax endpoints for "signatures". Moved into new REST API
- improved ajax endpoints for "structures". Moved into new REST API
- upgraded DB "Cortex", PHP lib `v1.6.0-dev` → `v1.6.0`
- upgraded DB "Schema", PHP lib `v2.2.2` → `v2.2.3`
- upgraded some 3rd party NodeJs packaged (or development) in `package.json`
2019-03-22 17:33:43 +01:00

49 lines
1.2 KiB
PHP

<?php
/**
* Created by PhpStorm.
* User: exodu
* Date: 13.10.2018
* Time: 16:14
*/
namespace Controller\Api\Rest;
use Controller;
abstract class AbstractRestController extends Controller\AccessController {
/**
* get send data from request
* API requests require "Content-Type: application/json"
* -> $_POST does not include request data -> request BODY might contain JSON
* @param \Base $f3
* @return array
*/
protected function getRequestData(\Base $f3) : array {
$data = [];
if($f3->get('VERB') == 'GET'){
// get data from URL parameters
$data = (array)$f3->get('GET');
}elseif( !empty($body = $f3->get('BODY')) ){
// get data from HTTP body
$bodyDecode = json_decode($body, true);
if(($jsonError = json_last_error()) === JSON_ERROR_NONE){
$data = $bodyDecode;
}else{
$f3->set('HALT', true);
$f3->error(400, 'Request data: ' . json_last_error_msg());
}
}
return $data;
}
/**
* render API response to client
* @param $output
*/
protected function out($output){
echo json_encode($output);
}
}