in sdk/communication/AzureCommunicationChat/Source/Signaling/CommunicationSignalingClient.swift [308:331]
func onTrouterRequest(_ request: TrouterRequest, _ response: TrouterResponse) {
logger.info("Received a Trouter request \n")
do {
guard let requestJsonData = request.body.data(using: .utf8) else {
throw AzureError.client("Unable to convert request body to Data.")
}
let generalPayload = try JSONDecoder().decode(BasePayload.self, from: requestJsonData)
let chatEventId = try ChatEventId(forCode: generalPayload.eventId)
// Convert trouter payload to chat event payload
let chatEvent = try TrouterEventUtil.create(chatEvent: chatEventId, from: request)
handler(chatEvent)
} catch {
logger.error("Error: \(error)")
}
// Notify Trouter the request was handled
response.body = "Request has been handled"
response.status = 200
let result: TrouterSendResponseResult = response.send()
logger.info("Sent a response to Trouter: \(result)")
}