Server IP : / Your IP : 10.244.4.16 [ Web Server : nginx/1.25.3 System : Linux escuela-portal-app-54f56585bc-kst6g 5.15.0-1084-azure #93-Ubuntu SMP Sat Mar 15 14:12:29 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.2.13 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, Domains : 0 Domains MySQL : OFF | cURL : ON | WGET : OFF | Perl : ON | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /proc/449/root/var/www/app/vendor/inertiajs/inertia-laravel/src/ |
Upload File : |
<?php namespace Inertia; use LogicException; use Inertia\Ssr\Gateway; use ReflectionException; use Illuminate\Http\Request; use Inertia\Ssr\HttpGateway; use Illuminate\Routing\Router; use Illuminate\View\FileViewFinder; use Illuminate\Testing\TestResponse; use Inertia\Testing\TestResponseMacros; use Illuminate\Support\ServiceProvider as BaseServiceProvider; use Illuminate\Foundation\Testing\TestResponse as LegacyTestResponse; class ServiceProvider extends BaseServiceProvider { public function register(): void { $this->app->singleton(ResponseFactory::class); $this->app->bind(Gateway::class, HttpGateway::class); $this->mergeConfigFrom( __DIR__.'/../config/inertia.php', 'inertia' ); $this->registerBladeDirectives(); $this->registerRequestMacro(); $this->registerRouterMacro(); $this->registerTestingMacros(); $this->app->bind('inertia.testing.view-finder', function ($app) { return new FileViewFinder( $app['files'], $app['config']->get('inertia.testing.page_paths'), $app['config']->get('inertia.testing.page_extensions') ); }); } public function boot(): void { $this->registerConsoleCommands(); $this->publishes([ __DIR__.'/../config/inertia.php' => config_path('inertia.php'), ]); } protected function registerBladeDirectives(): void { $this->callAfterResolving('blade.compiler', function ($blade) { $blade->directive('inertia', [Directive::class, 'compile']); $blade->directive('inertiaHead', [Directive::class, 'compileHead']); }); } protected function registerConsoleCommands(): void { if (! $this->app->runningInConsole()) { return; } $this->commands([ Commands\CreateMiddleware::class, Commands\StartSsr::class, Commands\StopSsr::class, ]); } protected function registerRequestMacro(): void { Request::macro('inertia', function () { return (bool) $this->header('X-Inertia'); }); } protected function registerRouterMacro(): void { Router::macro('inertia', function ($uri, $component, $props = []) { return $this->match(['GET', 'HEAD'], $uri, '\\'.Controller::class) ->defaults('component', $component) ->defaults('props', $props); }); } /** * @throws ReflectionException|LogicException */ protected function registerTestingMacros(): void { if (class_exists(TestResponse::class)) { TestResponse::mixin(new TestResponseMacros()); return; } // Laravel <= 6.0 if (class_exists(LegacyTestResponse::class)) { LegacyTestResponse::mixin(new TestResponseMacros()); return; } throw new LogicException('Could not detect TestResponse class.'); } }