bootdesk/chat-sdk

WebhookController extends Controller
in package

Table of Contents

Properties

$chatFactory  : ChatFactory

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

Methods

handle()

public handle(string $adapter, Request $request) : Response
Parameters
$adapter : string
$request : Request
Return values
Response

createChat()

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
Chat

createPsrRequest()

protected createPsrRequest(Request $request) : ServerRequestInterface
Parameters
$request : Request
Return values
ServerRequestInterface

createResponse()

protected createResponse(ResponseInterface $psrResponse) : Response
Parameters
$psrResponse : ResponseInterface
Return values
Response

handleWebhook()

protected handleWebhook(string $adapter, Chat $chat, ServerRequestInterface $psrRequest) : ResponseInterface
Parameters
$adapter : string
$chat : Chat
$psrRequest : ServerRequestInterface
Return values
ResponseInterface

resolveGroups()

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>
Return values
ServerRequestInterface
On this page

Search results