39 lines
1.1 KiB
PHP
39 lines
1.1 KiB
PHP
<?php declare(strict_types=1);
|
|
|
|
namespace App\Controller;
|
|
|
|
use App\Service\BindAPI;
|
|
use Exception;
|
|
|
|
error_reporting(error_level: E_ALL);
|
|
|
|
require dirname(path: __DIR__) . '/vendor/autoload.php';
|
|
|
|
$uri = parse_url(url: $_SERVER['REQUEST_URI'], component: PHP_URL_PATH);
|
|
$uri = explode(separator: '/', string: $uri);
|
|
|
|
if ($uri[1] !== 'api') {
|
|
$scheme = $_SERVER['REQUEST_SCHEME'];
|
|
$host = $_SERVER['SERVER_NAME'];
|
|
$header = "$scheme://$host/openapi/index.html";
|
|
header(header: "Location: $header");
|
|
exit(0);
|
|
}
|
|
|
|
header(header: "Access-Control-Allow-Origin: *");
|
|
header(header: "Content-Type: application/json; charset=UTF-8");
|
|
header(header: "Access-Control-Allow-Methods: OPTIONS,GET,POST,PUT,DELETE");
|
|
header(header: "Access-Control-Max-Age: 3600");
|
|
header(header: "Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
|
|
|
|
$requestMethod = $_SERVER["REQUEST_METHOD"];
|
|
|
|
try {
|
|
$app = new BindAPI(quiet: false);
|
|
$app->handleRequest(requestMethod: $requestMethod, uri: $uri);
|
|
} catch (Exception $e) {
|
|
echo json_encode(value: [
|
|
'error' => $e->getMessage()
|
|
]);
|
|
}
|