sendMessage method

  1. @override
Future<Either<Failure, ChatMessage>> sendMessage(
  1. SendMessageDto dto
)
override

Implementation

@override
Future<Either<Failure, ChatMessage>> sendMessage(SendMessageDto dto) {
  return wrapAndHandleHttpBaseRequest(
    () {
      final url = config.apiEndpoints.sendMessageToRoomApiEndpoint(dto);
      final request = http.Request(
        config.httpMethodConfig?.sendMessageToRoomMethod ?? 'POST',
        url,
      );
      request.body = dto.toJson();
      return request;
    },
    onResponse: (response, left, right) async {
      if (config.responseDeserializers?.sendMessageToRoomResponseDeserializer != null) {
        final data = await config
            .responseDeserializers!
            .sendMessageToRoomResponseDeserializer!(response);
        return right(data);
      }
      final data = _defaultChatMessageResponseDeserializer(response);
      return right(data);
    },
  );
}