ApiControler
This commit is contained in:
parent
84127bf7ab
commit
b4cfffc432
@ -1,30 +1,37 @@
|
||||
<?php
|
||||
class ApiCOntroller {
|
||||
private $data = [];
|
||||
public $httpCode = 200;
|
||||
public $autenticated = false;
|
||||
|
||||
class ApiController {
|
||||
private $input;
|
||||
private $authenticated;
|
||||
|
||||
function __construct() {
|
||||
$this->headers = $_SERVER;
|
||||
$this->authenticated = false;
|
||||
|
||||
$input = file_get_contents('php://input');
|
||||
if(empty($input)){
|
||||
$this->input = NULL;
|
||||
}else{
|
||||
$this->input = json_decode($input, true);
|
||||
if(json_last_error() != JSON_ERROR_NONE){
|
||||
throw new Exception("Invalid request payload", 400);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function requireAuth(){
|
||||
if (isset($this->headers['HTTP_AUTHORIZATION'])) {
|
||||
$this->autenticated = $this->apiManager->validateToken(explode(' ', $this->headers['HTTP_AUTHORIZATION'])[1]);
|
||||
// TODO: call appropriate class/method
|
||||
$authManager = new AuthManager();
|
||||
$this->authenticated = $authManager>validateToken($this->headers['HTTP_AUTHORIZATION']);
|
||||
if(!$this->authenticated){
|
||||
throw new Exception("Auth required", 401);
|
||||
}
|
||||
} else {
|
||||
$error = new ApiError();
|
||||
$error->code = "missing_token_header";
|
||||
$error->message = "Missing Token in Header";
|
||||
$error->hint = "check paiload header for 'token'";
|
||||
echo json_encode($error);
|
||||
die();
|
||||
throw new Exception("Auth required", 401);
|
||||
}
|
||||
}
|
||||
|
||||
function response($data = [], $httpCode = '200'){
|
||||
http_response_code($httpCode);
|
||||
echo json_encode($data);
|
||||
die();
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user