52 lines
1.3 KiB
PHP
52 lines
1.3 KiB
PHP
<?php
|
|
|
|
function runEndpoint($endpoint_file): ?array
|
|
{
|
|
|
|
$endpoint_data = $_POST;
|
|
require_once $endpoint_file;
|
|
|
|
return endpoint($endpoint_data);
|
|
}
|
|
|
|
|
|
function getEndpoint($endpoint_name): string
|
|
{
|
|
$output = array();
|
|
$output["Status"] = "Fail";
|
|
global $routerConfig;
|
|
global $routerRequest;
|
|
|
|
if(!$endpoint_name){
|
|
$endpoint_name = $routerRequest["site_name"];
|
|
}
|
|
|
|
$endpoint_file = $routerConfig["endpoint_dir"] . $endpoint_name . ".php";
|
|
|
|
if (file_exists($endpoint_file)){
|
|
$output_tmp = runEndpoint($endpoint_file);
|
|
$output["Endpoint"] = $endpoint_name;
|
|
$type = gettype($output_tmp);
|
|
switch ($type) {
|
|
case 'array':
|
|
case 'string':
|
|
$output = $output_tmp;
|
|
$output['Status'] = 'Success';
|
|
break;
|
|
case 'boolean':
|
|
$output['Status'] = $output_tmp ? 'Success' : 'Fail';
|
|
break;
|
|
default:
|
|
$output['Status'] = 'Fail';
|
|
$output["Error"] = "Endpoint error";
|
|
$output["Type"] = $type;
|
|
http_response_code(500);
|
|
}
|
|
}
|
|
else{
|
|
$output["Error"] = "Not found";
|
|
http_response_code(404);
|
|
}
|
|
|
|
return json_encode($output);
|
|
} |