'GET, POST, OPTIONS', 'Access-Control-Allow-Headers' => 'Content-Type, Authorization, X-License-Key, X-Account-Id, X-Dewemoji-Frontend', 'Vary' => 'Origin', ]; $origin = request()->headers->get('Origin', ''); $allowedOrigins = config('dewemoji.cors.allowed_origins', []); if (is_array($allowedOrigins) && in_array($origin, $allowedOrigins, true)) { $headers['Access-Control-Allow-Origin'] = $origin; } return response('', 204, $headers); })->where('any', '.*'); Route::prefix('v1')->group(function () { Route::get('/categories', [EmojiApiController::class, 'categories']); Route::get('/emojis', [EmojiApiController::class, 'emojis']); Route::get('/emoji', [EmojiApiController::class, 'emoji']); Route::get('/emoji/{slug}', [EmojiApiController::class, 'emoji']); Route::post('/license/verify', [LicenseController::class, 'verify']); Route::post('/license/activate', [LicenseController::class, 'activate']); Route::post('/license/deactivate', [LicenseController::class, 'deactivate']); Route::get('/health', [SystemController::class, 'health']); Route::get('/metrics-lite', [SystemController::class, 'metricsLite']); Route::get('/metrics', [SystemController::class, 'metrics']); });