WebhookController
extends Controller
in package
Table of Contents
Properties
Methods
- __construct() : mixed
- handle() : Response
- createChat() : Chat
- Build a Chat instance scoped to the resolved handler groups.
- createPsrRequest() : ServerRequestInterface
- createResponse() : Response
- handleWebhook() : ResponseInterface
- resolveGroups() : array<string|int, string>
- Determine which handler groups to use for this webhook.
- withGroupsAttribute() : ServerRequestInterface
- Store resolved groups as a PSR-7 request attribute so they survive serialization into async queue jobs via RequestContext.
Properties
$chatFactory read-only
private
ChatFactory
$chatFactory
Methods
__construct()
public
__construct(ChatFactory $chatFactory) : mixed
Parameters
- $chatFactory : ChatFactory
handle()
public
handle(string $adapter, Request $request) : Response
Parameters
- $adapter : string
- $request : Request
Return values
ResponsecreateChat()
Build a Chat instance scoped to the resolved handler groups.
protected
createChat(array<string|int, string> $groups[, ServerRequestInterface|null $request = null ]) : Chat
Parameters
- $groups : array<string|int, string>
- $request : ServerRequestInterface|null = null
Return values
ChatcreatePsrRequest()
protected
createPsrRequest(Request $request) : ServerRequestInterface
Parameters
- $request : Request
Return values
ServerRequestInterfacecreateResponse()
protected
createResponse(ResponseInterface $psrResponse) : Response
Parameters
- $psrResponse : ResponseInterface
Return values
ResponsehandleWebhook()
protected
handleWebhook(string $adapter, Chat $chat, ServerRequestInterface $psrRequest) : ResponseInterface
Parameters
- $adapter : string
- $chat : Chat
- $psrRequest : ServerRequestInterface
Return values
ResponseInterfaceresolveGroups()
Determine which handler groups to use for this webhook.
protected
resolveGroups(string $adapter, Request $request, ServerRequestInterface $psrRequest) : array<string|int, string>
Override to route different channels/tenants to different handler groups. Default: uses the adapter name as the only group (matching pre-v2.0 behaviour).
Parameters
- $adapter : string
- $request : Request
- $psrRequest : ServerRequestInterface
Return values
array<string|int, string>withGroupsAttribute()
Store resolved groups as a PSR-7 request attribute so they survive serialization into async queue jobs via RequestContext.
protected
withGroupsAttribute(ServerRequestInterface $psrRequest, array<string|int, mixed> $groups) : ServerRequestInterface
Parameters
- $psrRequest : ServerRequestInterface
- $groups : array<string|int, mixed>