Files
OrderCheck/app/Http/Middleware/HandleInertiaRequests.php
T

64 lines
1.9 KiB
PHP

<?php
namespace App\Http\Middleware;
use Illuminate\Http\Request;
use Inertia\Middleware;
class HandleInertiaRequests extends Middleware
{
/**
* The root template that is loaded on the first page visit.
*
* @var string
*/
protected $rootView = 'app';
/**
* Determine the current asset version.
*/
public function version(Request $request): ?string
{
return parent::version($request);
}
/**
* Define the props that are shared by default.
*
* @return array<string, mixed>
*/
public function share(Request $request): array
{
return [
...parent::share($request),
'auth' => [
'user' => $request->user(),
],
'flash' => [
'success' => fn () => $request->session()->get('success'),
'error' => fn () => $request->session()->get('error'),
],
'appName' => config('app.name'),
'ollamaAvailable' => cache()->remember('ollama_available', 15, function () {
try {
$url = rtrim(config('services.ollama.url', 'http://127.0.0.1:11434'), '/');
// Remplacement de localhost par 127.0.0.1 pour contourner les lenteurs de résolution DNS sur Windows
$url = str_replace('localhost', '127.0.0.1', $url);
$response = \Illuminate\Support\Facades\Http::timeout(2.0)->get($url);
return $response->successful();
} catch (\Exception $e) {
return false;
}
}),
'translations' => function () {
$locale = app()->getLocale();
$file = lang_path("{$locale}.json");
if (file_exists($file)) {
return json_decode(file_get_contents($file), true);
}
return [];
},
];
}
}