connect method
void
connect(
- String processId
)
Implementation
void connect(String processId) {
if (_socket != null && _socket!.connected) return;
_socket = io.io(
socketURL,
io.OptionBuilder().setTransports(['polling']).setExtraHeaders(
{'x-public-key': options.client.getPublicKey()}).build(),
);
_socket?.onConnect((_) {
debugPrint('Socket.io Conectado.');
_socket?.emit('process:connect', {'processId': processId});
});
_socket?.on('process:message', (data) {
final response = _SocketResponse.fromJson(data);
if (!response.success) {
return options.onError?.call(ClientError.fromError(response.toJson()));
}
if (response.event == SocketEvents.partialPayment) {
return options.onPartialPayment?.call(ClientResponse(
code: ClientCode.paymentPartial,
message: response.message,
result: PartialPaymentResponseData.fromJson(response.result),
));
}
if (response.event == SocketEvents.fundsReceived) {
return options.onSuccess?.call(ClientResponse(
code: ClientCode.paymentSuccess,
message: response.message,
result: QrResponseData.fromJson(response.result),
));
}
});
_socket?.onConnectError((error) {
options.onError?.call(ClientError.fromError(
error,
code: ClientCode.socketConnectionError,
message: I18n.t.errors.socketConnectionError,
));
disconnect();
});
_socket?.onDisconnect((reason) {
debugPrint('Socket.io Desconectado: $reason');
_socket = null;
});
}