RedisBroadcaster

class RedisBroadcaster extends Broadcaster (View source)

Traits

UsePusherChannelConventions

Properties

protected array $channels The registered channel authenticators. from Broadcaster
protected array $channelOptions The registered channel options. from Broadcaster
protected BindingRegistrar $bindingRegistrar The binding registrar instance. from Broadcaster
protected Factory $redis The Redis instance.
protected string $connection The Redis connection to use for broadcasting.
protected string $prefix The Redis key prefix.

Methods

$this channel(string $channel, callable|string $callback, array $options = [])

Register a channel authenticator.

from Broadcaster
mixed verifyUserCanAccessChannel(Request $request, string $channel)

Authenticate the incoming request for a given channel.

from Broadcaster
array extractAuthParameters(string $pattern, string $channel, callable|string $callback)

Extract the parameters from the given pattern and channel.

from Broadcaster
ReflectionParameter[] extractParameters(callable|string $callback)

Extracts the parameters out of what the user passed to handle the channel authentication.

from Broadcaster
ReflectionParameter[] extractParametersFromClass(string $callback)

Extracts the parameters out of a class channel's "join" method.

from Broadcaster
array extractChannelKeys(string $pattern, string $channel)

Extract the channel keys from the incoming channel name.

from Broadcaster
mixed resolveBinding(string $key, string $value, array $callbackParameters)

Resolve the given parameter binding.

from Broadcaster
mixed resolveExplicitBindingIfPossible(string $key, mixed $value)

Resolve an explicit parameter binding if applicable.

from Broadcaster
mixed resolveImplicitBindingIfPossible(string $key, mixed $value, array $callbackParameters)

Resolve an implicit parameter binding if applicable.

from Broadcaster
bool isImplicitlyBindable(string $key, ReflectionParameter $parameter)

Determine if a given key and parameter is implicitly bindable.

from Broadcaster
array formatChannels(array $channels)

Format the channel array into an array of strings.

BindingRegistrar binder()

Get the model binding registrar instance.

from Broadcaster
callable normalizeChannelHandlerToCallable(mixed $callback)

Normalize the given callback into a callable.

from Broadcaster
mixed retrieveUser(Request $request, string $channel)

Retrieve the authenticated user using the configured guard (if any).

from Broadcaster
array retrieveChannelOptions(string $channel)

Retrieve options for a certain channel.

from Broadcaster
bool channelNameMatchesPattern(string $channel, string $pattern)

Check if channel name from request match a pattern from registered channels.

from Broadcaster
bool isGuardedChannel(string $channel)

Return true if channel is protected by authentication.

from UsePusherChannelConventions
string normalizeChannelName(string $channel)

Remove prefix from channel name.

from UsePusherChannelConventions
void __construct(Factory $redis, string|null $connection = null, string $prefix = '')

Create a new broadcaster instance.

mixed auth(Request $request)

Authenticate the incoming request for a given channel.

mixed validAuthenticationResponse(Request $request, mixed $result)

Return the valid authentication response.

void broadcast(array $channels, string $event, array $payload = [])

Broadcast the given event.

string broadcastMultipleChannelsScript()

Get the Lua script for broadcasting to multiple channels.

Details

$this channel(string $channel, callable|string $callback, array $options = [])

Register a channel authenticator.

Parameters

string $channel
callable|string $callback
array $options

Return Value

$this

protected mixed verifyUserCanAccessChannel(Request $request, string $channel)

Authenticate the incoming request for a given channel.

Parameters

Request $request
string $channel

Return Value

mixed

Exceptions

AccessDeniedHttpException

protected array extractAuthParameters(string $pattern, string $channel, callable|string $callback)

Extract the parameters from the given pattern and channel.

Parameters

string $pattern
string $channel
callable|string $callback

Return Value

array

protected ReflectionParameter[] extractParameters(callable|string $callback)

Extracts the parameters out of what the user passed to handle the channel authentication.

Parameters

callable|string $callback

Return Value

ReflectionParameter[]

Exceptions

Exception

protected ReflectionParameter[] extractParametersFromClass(string $callback)

Extracts the parameters out of a class channel's "join" method.

Parameters

string $callback

Return Value

ReflectionParameter[]

Exceptions

Exception

protected array extractChannelKeys(string $pattern, string $channel)

Extract the channel keys from the incoming channel name.

Parameters

string $pattern
string $channel

Return Value

array

protected mixed resolveBinding(string $key, string $value, array $callbackParameters)

Resolve the given parameter binding.

Parameters

string $key
string $value
array $callbackParameters

Return Value

mixed

protected mixed resolveExplicitBindingIfPossible(string $key, mixed $value)

Resolve an explicit parameter binding if applicable.

Parameters

string $key
mixed $value

Return Value

mixed

protected mixed resolveImplicitBindingIfPossible(string $key, mixed $value, array $callbackParameters)

Resolve an implicit parameter binding if applicable.

Parameters

string $key
mixed $value
array $callbackParameters

Return Value

mixed

Exceptions

AccessDeniedHttpException

protected bool isImplicitlyBindable(string $key, ReflectionParameter $parameter)

Determine if a given key and parameter is implicitly bindable.

Parameters

string $key
ReflectionParameter $parameter

Return Value

bool

protected array formatChannels(array $channels)

Format the channel array into an array of strings.

Parameters

array $channels

Return Value

array

protected BindingRegistrar binder()

Get the model binding registrar instance.

Return Value

BindingRegistrar

protected callable normalizeChannelHandlerToCallable(mixed $callback)

Normalize the given callback into a callable.

Parameters

mixed $callback

Return Value

callable

protected mixed retrieveUser(Request $request, string $channel)

Retrieve the authenticated user using the configured guard (if any).

Parameters

Request $request
string $channel

Return Value

mixed

protected array retrieveChannelOptions(string $channel)

Retrieve options for a certain channel.

Parameters

string $channel

Return Value

array

protected bool channelNameMatchesPattern(string $channel, string $pattern)

Check if channel name from request match a pattern from registered channels.

Parameters

string $channel
string $pattern

Return Value

bool

bool isGuardedChannel(string $channel)

Return true if channel is protected by authentication.

Parameters

string $channel

Return Value

bool

string normalizeChannelName(string $channel)

Remove prefix from channel name.

Parameters

string $channel

Return Value

string

void __construct(Factory $redis, string|null $connection = null, string $prefix = '')

Create a new broadcaster instance.

Parameters

Factory $redis
string|null $connection
string $prefix

Return Value

void

mixed auth(Request $request)

Authenticate the incoming request for a given channel.

Parameters

Request $request

Return Value

mixed

Exceptions

AccessDeniedHttpException

mixed validAuthenticationResponse(Request $request, mixed $result)

Return the valid authentication response.

Parameters

Request $request
mixed $result

Return Value

mixed

void broadcast(array $channels, string $event, array $payload = [])

Broadcast the given event.

Parameters

array $channels
string $event
array $payload

Return Value

void

protected string broadcastMultipleChannelsScript()

Get the Lua script for broadcasting to multiple channels.

ARGV[1] - The payload ARGV[2...] - The channels

Return Value

string

© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/7.x/Illuminate/Broadcasting/Broadcasters/RedisBroadcaster.html