|
1 | 1 | <?php |
2 | 2 |
|
3 | 3 | use Spiral\RoadRunnerLaravel\Events; |
| 4 | +use Spiral\RoadRunnerLaravel\Defaults; |
4 | 5 | use Spiral\RoadRunnerLaravel\Listeners; |
5 | 6 |
|
6 | 7 | return [ |
|
10 | 11 | |-------------------------------------------------------------------------- |
11 | 12 | | |
12 | 13 | | Set this value to `true` if your application uses HTTPS (required for |
13 | | - | example for correct links generation). |
| 14 | + | correct links generation, for example). |
14 | 15 | | |
15 | 16 | */ |
16 | 17 |
|
17 | 18 | 'force_https' => (bool) env('APP_FORCE_HTTPS', false), |
18 | 19 |
|
19 | | - /* |
20 | | - |-------------------------------------------------------------------------- |
21 | | - | Containers Pre Resolving |
22 | | - |-------------------------------------------------------------------------- |
23 | | - | |
24 | | - | Declared here abstractions will be resolved before events loop will be |
25 | | - | started. |
26 | | - | |
27 | | - */ |
28 | | - |
29 | | - 'pre_resolving' => [ |
30 | | - 'auth', |
31 | | - 'cache', |
32 | | - 'cache.store', |
33 | | - 'config', |
34 | | - 'cookie', |
35 | | - 'db', |
36 | | - 'db.factory', |
37 | | - 'encrypter', |
38 | | - 'files', |
39 | | - 'hash', |
40 | | - 'log', |
41 | | - 'router', |
42 | | - 'routes', |
43 | | - 'session', |
44 | | - 'session.store', |
45 | | - 'translator', |
46 | | - 'url', |
47 | | - 'view', |
48 | | - ], |
49 | | - |
50 | 20 | /* |
51 | 21 | |-------------------------------------------------------------------------- |
52 | 22 | | Event Listeners |
53 | 23 | |-------------------------------------------------------------------------- |
54 | 24 | | |
55 | 25 | | Worker provided by this package allows to interacts with request |
56 | | - | processing loop using application events. Feel free to add your own event |
57 | | - | listeners. |
| 26 | + | processing loop using application events. |
| 27 | + | |
| 28 | + | Feel free to add your own event listeners. |
58 | 29 | | |
59 | 30 | */ |
60 | 31 |
|
61 | 32 | 'listeners' => [ |
62 | 33 | Events\BeforeLoopStartedEvent::class => [ |
63 | | - Listeners\FixSymfonyFileValidationListener::class, |
| 34 | + ...Defaults::beforeLoopStarted(), |
64 | 35 | ], |
65 | 36 |
|
66 | 37 | Events\BeforeLoopIterationEvent::class => [ |
67 | | - Listeners\EnableHttpMethodParameterOverrideListener::class, |
68 | | - Listeners\RebindHttpKernelListener::class, // Laravel 7 issue: <https://git.io/JvPpf> |
69 | | - Listeners\RebindViewListener::class, |
70 | | - Listeners\RebindAuthorizationGateListener::class, |
71 | | - Listeners\RebindBroadcastManagerListener::class, |
72 | | - Listeners\RebindDatabaseManagerListener::class, |
73 | | - Listeners\RebindMailManagerListener::class, |
74 | | - Listeners\RebindNotificationChannelManagerListener::class, |
75 | | - Listeners\RebindPipelineHubListener::class, |
76 | | - Listeners\RebindQueueManagerListener::class, |
77 | | - Listeners\RebindValidationFactoryListener::class, |
78 | | - Listeners\CloneConfigListener::class, |
79 | | - Listeners\UnqueueCookiesListener::class, |
80 | | - Listeners\FlushAuthenticationStateListener::class, |
81 | | - Listeners\ResetSessionListener::class, |
82 | | - Listeners\ResetProvidersListener::class, |
83 | | - Listeners\ResetLocaleStateListener::class, |
84 | | - |
85 | | - // Listeners\ResetLaravelScoutListener::class, // for 'laravel/scout' package |
86 | | - // Listeners\ResetLaravelSocialiteListener::class, // for 'laravel/socialite' package |
87 | | - // Listeners\ResetInertiaListener::class, // for 'inertiajs/inertia-laravel' package |
| 38 | + ...Defaults::beforeLoopIteration(), |
| 39 | + // Listeners\ResetLaravelScoutListener::class, // for <https://github.com/laravel/scout> |
| 40 | + // Listeners\ResetLaravelSocialiteListener::class, // for <https://github.com/laravel/socialite> |
| 41 | + // Listeners\ResetInertiaListener::class, // for <https://github.com/inertiajs/inertia-laravel> |
88 | 42 | ], |
89 | 43 |
|
90 | 44 | Events\BeforeRequestHandlingEvent::class => [ |
91 | | - Listeners\RebindRouterListener::class, |
| 45 | + ...Defaults::beforeRequestHandling(), |
92 | 46 | Listeners\InjectStatsIntoRequestListener::class, |
93 | | - Listeners\BindRequestListener::class, |
94 | | - Listeners\ForceHttpsListener::class, |
95 | | - Listeners\SetServerPortListener::class, |
96 | 47 | ], |
97 | 48 |
|
98 | 49 | Events\AfterRequestHandlingEvent::class => [ |
99 | | - // |
| 50 | + ...Defaults::afterRequestHandling(), |
100 | 51 | ], |
101 | 52 |
|
102 | 53 | Events\AfterLoopIterationEvent::class => [ |
103 | | - Listeners\FlushArrayCacheListener::class, |
104 | | - Listeners\ResetDatabaseRecordModificationStateListener::class, |
105 | | - Listeners\ClearInstancesListener::class, |
106 | | - Listeners\RunGarbageCollectorListener::class, |
| 54 | + ...Defaults::afterLoopIteration(), |
| 55 | + Listeners\RunGarbageCollectorListener::class, // keep the memory usage low |
107 | 56 | ], |
108 | 57 |
|
109 | 58 | Events\AfterLoopStoppedEvent::class => [ |
110 | | - // |
| 59 | + ...Defaults::afterLoopStopped(), |
111 | 60 | ], |
112 | 61 |
|
113 | 62 | Events\LoopErrorOccurredEvent::class => [ |
| 63 | + ...Defaults::loopErrorOccurred(), |
114 | 64 | Listeners\SendExceptionToStderrListener::class, |
115 | 65 | Listeners\StopWorkerListener::class, |
116 | 66 | ], |
117 | 67 | ], |
118 | 68 |
|
119 | 69 | /* |
120 | 70 | |-------------------------------------------------------------------------- |
121 | | - | Instances Clearing |
| 71 | + | Containers Pre Resolving / Clearing |
122 | 72 | |-------------------------------------------------------------------------- |
123 | 73 | | |
124 | | - | Instances described here will be cleared on every request (if |
125 | | - | `ClearInstancesListener` is enabled). |
| 74 | + | The bindings listed below will be resolved before the events loop |
| 75 | + | starting. Clearing a binding will force the container to resolve that |
| 76 | + | binding again when asked. |
| 77 | + | |
| 78 | + | Feel free to add your own bindings here. |
126 | 79 | | |
127 | 80 | */ |
128 | 81 |
|
129 | | - 'clear_instances' => [ |
| 82 | + 'warm' => [ |
| 83 | + ...Defaults::servicesToWarm(), |
| 84 | + ], |
| 85 | + |
| 86 | + 'clear' => [ |
| 87 | + ...Defaults::servicesToClear(), |
130 | 88 | 'auth', // is not required for Laravel >= v8.35 |
131 | 89 | ], |
132 | 90 |
|
|
135 | 93 | | Reset Providers |
136 | 94 | |-------------------------------------------------------------------------- |
137 | 95 | | |
138 | | - | Providers that will be registered on every request (if |
139 | | - | `ResetProvidersListener` is enabled). |
| 96 | + | Providers that will be registered on every request. |
| 97 | + | |
| 98 | + | Feel free to add your service-providers here. |
140 | 99 | | |
141 | 100 | */ |
142 | 101 |
|
143 | 102 | 'reset_providers' => [ |
144 | | - Illuminate\Auth\AuthServiceProvider::class, // is not required for Laravel >= v8.35 |
145 | | - // App\Your\Custom\AuthServiceProvider::class, |
| 103 | + ...Defaults::providersToReset(), |
| 104 | + Illuminate\Auth\AuthServiceProvider::class, // is not required for Laravel >= v8.35 |
146 | 105 | Illuminate\Pagination\PaginationServiceProvider::class, // is not required for Laravel >= v8.35 |
147 | 106 | ], |
148 | 107 | ]; |
0 commit comments