asdasd
This commit is contained in:
@@ -3,7 +3,7 @@
|
|||||||
// Optional: zentrale Config laden (wenn du magst)
|
// Optional: zentrale Config laden (wenn du magst)
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
$apibasedir = $_SERVER['DOCUMENT_ROOT'];
|
echo $apibasedir = $_SERVER['DOCUMENT_ROOT'];
|
||||||
require $apibasedir. '/../config/fileload.php';
|
require $apibasedir. '/../config/fileload.php';
|
||||||
|
|
||||||
// Basis-Header (CORS, JSON)
|
// Basis-Header (CORS, JSON)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
<?php
|
<?php
|
||||||
// /api/router.v1.php
|
// /api/router/router.v1.php
|
||||||
|
|
||||||
declare(strict_types=1);
|
declare(strict_types=1);
|
||||||
|
|
||||||
@@ -7,12 +7,14 @@ declare(strict_types=1);
|
|||||||
* Router für /v1/...
|
* Router für /v1/...
|
||||||
*
|
*
|
||||||
* Wird von /api/index.php aufgerufen:
|
* Wird von /api/index.php aufgerufen:
|
||||||
* router_v1_dispatch($segments)
|
* router_v1_dispatch($segments, $apibasedir)
|
||||||
*
|
*
|
||||||
* $segments[0] ist dann z.B. "browser.quick.test" oder "quickcheck"
|
* $segments[0] ist dann z.B. "browser.quick.test" oder "quickcheck"
|
||||||
|
*
|
||||||
|
* $apibasedir ist der Pfad auf /api (also das Root des API-Vhosts).
|
||||||
*/
|
*/
|
||||||
|
|
||||||
function router_v1_dispatch(array $segments): void
|
function router_v1_dispatch(array $segments, string $apibasedir): void
|
||||||
{
|
{
|
||||||
if (empty($segments[0])) {
|
if (empty($segments[0])) {
|
||||||
http_response_code(404);
|
http_response_code(404);
|
||||||
@@ -27,12 +29,12 @@ function router_v1_dispatch(array $segments): void
|
|||||||
|
|
||||||
switch ($endpoint) {
|
switch ($endpoint) {
|
||||||
case 'quickcheck':
|
case 'quickcheck':
|
||||||
$file = $apibasedir. '/v1/target/quickcheck.php';
|
$file = $apibasedir . '/v1/target/quickcheck.php';
|
||||||
$handler = 'quickcheck_handle_request';
|
$handler = 'quickcheck_handle_request';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'browser.quick.test':
|
case 'browser.quick.test':
|
||||||
$file = $apibasedir. '/v1/result/browser.quick.test.php';
|
$file = $apibasedir . '/v1/result/browser.quick.test.php';
|
||||||
$handler = 'browser_quick_test_handle_request';
|
$handler = 'browser_quick_test_handle_request';
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -41,7 +43,7 @@ function router_v1_dispatch(array $segments): void
|
|||||||
echo json_encode([
|
echo json_encode([
|
||||||
'ok' => false,
|
'ok' => false,
|
||||||
'error' => 'Unknown v1 endpoint',
|
'error' => 'Unknown v1 endpoint',
|
||||||
'endpoint'=> $endpoint,
|
'endpoint' => $endpoint,
|
||||||
], JSON_UNESCAPED_UNICODE);
|
], JSON_UNESCAPED_UNICODE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -51,7 +53,7 @@ function router_v1_dispatch(array $segments): void
|
|||||||
echo json_encode([
|
echo json_encode([
|
||||||
'ok' => false,
|
'ok' => false,
|
||||||
'error' => 'Endpoint file not found',
|
'error' => 'Endpoint file not found',
|
||||||
'file' => basename($file),
|
'file' => $file,
|
||||||
], JSON_UNESCAPED_UNICODE);
|
], JSON_UNESCAPED_UNICODE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -77,13 +79,12 @@ function router_v1_dispatch(array $segments): void
|
|||||||
'ok' => false,
|
'ok' => false,
|
||||||
'error' => 'Handler did not return array',
|
'error' => 'Handler did not return array',
|
||||||
'raw' => $result,
|
'raw' => $result,
|
||||||
'handler'=> $handler,
|
'handler' => $handler,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
// HTTP-Status aus Ergebnis ableiten (optional)
|
// HTTP-Status aus Ergebnis ableiten (optional)
|
||||||
if (isset($result['ok']) && $result['ok'] === false) {
|
if (isset($result['ok']) && $result['ok'] === false) {
|
||||||
// Bei Fehler eher 400 als 200, außer du willst es anders
|
|
||||||
if (!http_response_code()) {
|
if (!http_response_code()) {
|
||||||
http_response_code(400);
|
http_response_code(400);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user