Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
0.00% covered (danger)
0.00%
0 / 15
0.00% covered (danger)
0.00%
0 / 3
CRAP
0.00% covered (danger)
0.00%
0 / 1
TelescopeServiceProvider
0.00% covered (danger)
0.00%
0 / 15
0.00% covered (danger)
0.00%
0 / 3
90
0.00% covered (danger)
0.00%
0 / 1
 register
0.00% covered (danger)
0.00%
0 / 9
0.00% covered (danger)
0.00%
0 / 1
42
 hideSensitiveRequestDetails
0.00% covered (danger)
0.00%
0 / 4
0.00% covered (danger)
0.00%
0 / 1
6
 gate
0.00% covered (danger)
0.00%
0 / 2
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace App\Providers;
4
5use Illuminate\Support\Facades\Gate;
6use Laravel\Telescope\IncomingEntry;
7use Laravel\Telescope\Telescope;
8use Laravel\Telescope\TelescopeApplicationServiceProvider;
9
10class TelescopeServiceProvider extends TelescopeApplicationServiceProvider
11{
12    /**
13     * Register any application services.
14     *
15     * @return void
16     */
17    public function register()
18    {
19        // Telescope::night();
20
21        $this->hideSensitiveRequestDetails();
22
23        Telescope::filter(function (IncomingEntry $entry) {
24            if ($this->app->environment('local')) {
25                return true;
26            }
27
28            return $entry->isReportableException() ||
29                   $entry->isFailedRequest() ||
30                   $entry->isFailedJob() ||
31                   $entry->isScheduledTask() ||
32                   $entry->hasMonitoredTag();
33        });
34    }
35
36    /**
37     * Prevent sensitive request details from being logged by Telescope.
38     *
39     * @return void
40     */
41    protected function hideSensitiveRequestDetails()
42    {
43        if ($this->app->environment('local')) {
44            return;
45        }
46
47        Telescope::hideRequestParameters(['_token']);
48
49        Telescope::hideRequestHeaders([
50            'cookie',
51            'x-csrf-token',
52            'x-xsrf-token',
53        ]);
54    }
55
56    /**
57     * Register the Telescope gate.
58     *
59     * This gate determines who can access Telescope in non-local environments.
60     *
61     * @return void
62     */
63    protected function gate()
64    {
65        Gate::define('viewTelescope', function ($user) {
66            return in_array($user->email, [
67                //
68            ]);
69        });
70    }
71}