Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
namespace Spatie\LaravelIgnition\ContextProviders;
4
 
5
use Illuminate\Http\Request;
6
use Livewire\LivewireManager;
7
use Spatie\FlareClient\Context\ContextProvider;
8
use Spatie\FlareClient\Context\ContextProviderDetector;
9
 
10
class LaravelContextProviderDetector implements ContextProviderDetector
11
{
12
    public function detectCurrentContext(): ContextProvider
13
    {
14
        if (app()->runningInConsole()) {
15
            return new LaravelConsoleContextProvider($_SERVER['argv'] ?? []);
16
        }
17
 
18
        $request = app(Request::class);
19
 
20
        if ($this->isRunningLiveWire($request)) {
21
            return new LaravelLivewireRequestContextProvider($request, app(LivewireManager::class));
22
        }
23
 
24
        return new LaravelRequestContextProvider($request);
25
    }
26
 
27
    protected function isRunningLiveWire(Request $request): bool
28
    {
29
        return $request->hasHeader('x-livewire') && $request->hasHeader('referer');
30
    }
31
}