This commit is contained in:
lubiana 2025-06-27 15:04:56 +02:00
commit 2c36a7665e
Signed by: lubiana
SSH key fingerprint: SHA256:vW1EA0fRR3Fw+dD/sM0K+x3Il2gSry6YRYHqOeQwrfk
7 changed files with 597 additions and 0 deletions

59
public/index.php Normal file
View file

@ -0,0 +1,59 @@
<?php
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Uid\Ulid;
use Symfony\Component\Uid\Uuid;
require_once __DIR__ . '/../vendor/autoload.php';
$request = Request::createFromGlobals();
$path = $request->getPathInfo();
$scheme = $request->getScheme();
$host = $request->getHost();
$base = "{$scheme}://{$host}/";
function response(string $text): Response {
return new Response($text, 200, [
'Content-Type' => 'text/plain',
]);
}
$response = match ($path) {
'/uuid/v1' => \response(Uuid::v1()->toString()),
'/uuid/v4' => \response(Uuid::v4()->toString()),
'/uuid/v6' => \response(Uuid::v6()->toString()),
'/uuid/v7' => response(Uuid::v7()->toString()),
'/ulid' => response(Ulid::generate()),
'/' => response(<<<TXT
UUID/ULID Webservice
Available Endpoints:
/uuid/v1 - Generate a UUID v1 (time-based)
curl {$base}uuid/v1
/uuid/v3 - Generate a UUID v3 (name-based, MD5 hash)
curl {$base}uuid/v3
/uuid/v4 - Generate a UUID v4 (random)
curl {$base}uuid/v4
/uuid/v5 - Generate a UUID v5 (name-based, SHA-1 hash)
curl {$base}uuid/v5
/uuid/v6 - Generate a UUID v6 (reordered time-based)
curl {$base}uuid/v6
/uuid/v7 - Generate a UUID v7 (Unix timestamp-based)
curl {$base}uuid/v7
/ulid - Generate a ULID
curl {$base}ulid
TXT
),
default => new RedirectResponse("/", 301),
};
$response->send();