MiddlewareDispatcher
in package
FinalYes
Table of Contents
Properties
- $middlewares : array{webhook: array{0: object, 1: int}[], receiving: array{0: object, 1: int}[], sending: array{0: object, 1: int}[], webhook_event: array{0: object, 1: int}[], sent: array{0: object, 1: int}[], heard: array{0: object, 1: int}[]}
- $sorted : array<string, bool>
Methods
- addHeard() : void
- addReceiving() : void
- addSending() : void
- addSent() : void
- addWebhook() : void
- addWebhookEvent() : void
- getMiddlewares() : array<string|int, WebhookMiddleware>|array<string|int, ReceivingMiddleware>|array<string|int, SendingMiddleware>|array<string|int, WebhookEventMiddleware>|array<string|int, SentMiddleware>|array<string|int, HeardMiddleware>
- processHeard() : MessageContext|null
- processReceiving() : Message|null
- processSending() : PostableMessage|null
- processSent() : SentMessage
- processWebhook() : ResponseInterface
- processWebhookEvent() : Adapter
- buildPipeline() : mixed
- callMiddleware() : mixed
- ensureSorted() : void
- process() : mixed
Properties
$middlewares
private
array{webhook: array{0: object, 1: int}[], receiving: array{0: object, 1: int}[], sending: array{0: object, 1: int}[], webhook_event: array{0: object, 1: int}[], sent: array{0: object, 1: int}[], heard: array{0: object, 1: int}[]}
$middlewares
= ['webhook' => [], 'receiving' => [], 'sending' => [], 'webhook_event' => [], 'sent' => [], 'heard' => []]
$sorted
private
array<string, bool>
$sorted
= ['webhook' => true, 'receiving' => true, 'sending' => true, 'webhook_event' => true, 'sent' => true, 'heard' => true]
Methods
addHeard()
public
addHeard(HeardMiddleware $middleware[, int $priority = 0 ]) : void
Parameters
- $middleware : HeardMiddleware
- $priority : int = 0
addReceiving()
public
addReceiving(ReceivingMiddleware $middleware[, int $priority = 0 ]) : void
Parameters
- $middleware : ReceivingMiddleware
- $priority : int = 0
addSending()
public
addSending(SendingMiddleware $middleware[, int $priority = 0 ]) : void
Parameters
- $middleware : SendingMiddleware
- $priority : int = 0
addSent()
public
addSent(SentMiddleware $middleware[, int $priority = 0 ]) : void
Parameters
- $middleware : SentMiddleware
- $priority : int = 0
addWebhook()
public
addWebhook(WebhookMiddleware $middleware[, int $priority = 0 ]) : void
Parameters
- $middleware : WebhookMiddleware
- $priority : int = 0
addWebhookEvent()
public
addWebhookEvent(WebhookEventMiddleware $middleware[, int $priority = 0 ]) : void
Parameters
- $middleware : WebhookEventMiddleware
- $priority : int = 0
getMiddlewares()
public
getMiddlewares("webhook"|"receiving"|"sending"|"webhook_event"|"sent"|"heard" $type) : array<string|int, WebhookMiddleware>|array<string|int, ReceivingMiddleware>|array<string|int, SendingMiddleware>|array<string|int, WebhookEventMiddleware>|array<string|int, SentMiddleware>|array<string|int, HeardMiddleware>
Parameters
- $type : "webhook"|"receiving"|"sending"|"webhook_event"|"sent"|"heard"
Return values
array<string|int, WebhookMiddleware>|array<string|int, ReceivingMiddleware>|array<string|int, SendingMiddleware>|array<string|int, WebhookEventMiddleware>|array<string|int, SentMiddleware>|array<string|int, HeardMiddleware>processHeard()
public
processHeard(MessageContext $context, string $pattern, Adapter $adapter, callable(Array, string, Adapter): Array $handler) : MessageContext|null
Parameters
- $context : MessageContext
- $pattern : string
- $adapter : Adapter
- $handler : callable(Array, string, Adapter): Array
Return values
MessageContext|nullprocessReceiving()
public
processReceiving(Message|null $message, Adapter $adapter, callable(Array, Adapter): Array $handler) : Message|null
Parameters
Return values
Message|nullprocessSending()
public
processSending(string $threadId, PostableMessage $message, Adapter $adapter, string $operation, callable(string, PostableMessage, Adapter, string): Array $handler) : PostableMessage|null
Parameters
- $threadId : string
- $message : PostableMessage
- $adapter : Adapter
- $operation : string
- $handler : callable(string, PostableMessage, Adapter, string): Array
Return values
PostableMessage|nullprocessSent()
public
processSent(string $threadId, PostableMessage $message, SentMessage $result, Adapter $adapter, string $operation, callable(string, PostableMessage, SentMessage, Adapter, string): SentMessage $handler) : SentMessage
Parameters
- $threadId : string
- $message : PostableMessage
- $result : SentMessage
- $adapter : Adapter
- $operation : string
- $handler : callable(string, PostableMessage, SentMessage, Adapter, string): SentMessage
Return values
SentMessageprocessWebhook()
public
processWebhook(ServerRequestInterface $request, callable(ServerRequestInterface): ResponseInterface $handler) : ResponseInterface
Parameters
- $request : ServerRequestInterface
- $handler : callable(ServerRequestInterface): ResponseInterface
Return values
ResponseInterfaceprocessWebhookEvent()
public
processWebhookEvent(WebhookEvent $event, Adapter $adapter, callable(WebhookEvent, Adapter): Adapter $handler) : Adapter
Parameters
- $event : WebhookEvent
- $adapter : Adapter
- $handler : callable(WebhookEvent, Adapter): Adapter
Return values
AdapterbuildPipeline()
private
buildPipeline(array<string|int, array{0: object, 1: int}> $middlewares, mixed $context, callable $handler) : mixed
Parameters
- $middlewares : array<string|int, array{0: object, 1: int}>
- $context : mixed
- $handler : callable
callMiddleware()
private
callMiddleware(object $m, array<string|int, mixed> $args, callable $next) : mixed
Parameters
- $m : object
- $args : array<string|int, mixed>
- $next : callable
ensureSorted()
private
ensureSorted(string $type) : void
Parameters
- $type : string
process()
private
process("webhook"|"receiving"|"sending"|"sent"|"heard" $type, mixed $context, callable $handler) : mixed
Parameters
- $type : "webhook"|"receiving"|"sending"|"sent"|"heard"
- $context : mixed
- $handler : callable