These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | <?php |
||
2 | |||
3 | namespace BeyondCode\LaravelWebSockets\Dashboard\Http\Controllers; |
||
4 | |||
5 | use BeyondCode\LaravelWebSockets\Statistics\Rules\AppId; |
||
6 | use Illuminate\Broadcasting\Broadcasters\PusherBroadcaster; |
||
7 | use Illuminate\Http\Request; |
||
8 | use Pusher\Pusher; |
||
9 | |||
10 | class SendMessage |
||
11 | { |
||
12 | public function __invoke(Request $request) |
||
13 | { |
||
14 | $validated = $request->validate([ |
||
0 ignored issues
–
show
|
|||
15 | 'appId' => ['required', new AppId()], |
||
16 | 'key' => 'required', |
||
17 | 'secret' => 'required', |
||
18 | 'channel' => 'required', |
||
19 | 'event' => 'required', |
||
20 | 'data' => 'json', |
||
21 | ]); |
||
22 | |||
23 | $this->getPusherBroadcaster($validated)->broadcast( |
||
24 | [$validated['channel']], |
||
25 | $validated['event'], |
||
26 | json_decode($validated['data'], true) |
||
27 | ); |
||
28 | |||
29 | return 'ok'; |
||
30 | } |
||
31 | |||
32 | protected function getPusherBroadcaster(array $validated): PusherBroadcaster |
||
33 | { |
||
34 | $pusher = new Pusher( |
||
35 | $validated['key'], |
||
36 | $validated['secret'], |
||
37 | $validated['appId'], |
||
38 | config('broadcasting.connections.pusher.options', []) |
||
39 | ); |
||
40 | |||
41 | return new PusherBroadcaster($pusher); |
||
42 | } |
||
43 | } |
||
44 |
This check looks for function calls that miss required arguments.