Hi @AbdoPrDZ,
thanks for the version update, however with the Version 2.0 im facing an issue with the auth headers beeing transformed to future map instead of normal map.
At some point in the lifecycle of opening the socket connection, the headers are apparently tried to be encoded, which does not work for a Closure which is why i need to downgrade unfortionately.
this is how i create the socket:
Echo.socket(
'$apiUrl:${SocketIoConfig.port}',
authHeaders: () async => {
'Authorization': 'Bearer $token',
'Content-Type': 'application/json',
'Accept': 'application/json'
},
moreOptions: {
'transports': ['websocket']
},
);
This is the error i get:
E/flutter (19494): [ERROR:flutter/runtime/dart_vm_initializer.cc(40)] Unhandled Exception: Converting object to an encodable object failed: Closure: () => Future<Map<String, String>>
E/flutter (19494): #0 _JsonStringifier.writeObject (dart:convert/json.dart:824:7)
E/flutter (19494): #1 _JsonStringifier.writeMap (dart:convert/json.dart:908:7)
E/flutter (19494): #2 _JsonStringifier.writeJsonValue (dart:convert/json.dart:863:21)
E/flutter (19494): #3 _JsonStringifier.writeObject (dart:convert/json.dart:815:9)
E/flutter (19494): #4 _JsonStringStringifier.printOn (dart:convert/json.dart:1024:17)
E/flutter (19494): #5 _JsonStringStringifier.stringify (dart:convert/json.dart:1005:5)
E/flutter (19494): #6 JsonEncoder.convert (dart:convert/json.dart:353:30)
E/flutter (19494): #7 JsonCodec.encode (dart:convert/json.dart:238:45)
E/flutter (19494): #8 Encoder.encodeAsString (package:socket_io_common/src/parser/parser.dart:89:19)
E/flutter (19494): #9 Encoder.encode (package:socket_io_common/src/parser/parser.dart:63:13)
E/flutter (19494): #10 Manager.packet (package:socket_io_client/src/manager.dart:350:34)
E/flutter (19494): #11 Socket.packet (package:socket_io_client/src/socket.dart:337:8)
E/flutter (19494): #12 Socket.sendConnectPacket (package:socket_io_client/src/socket.dart:361:5)
E/flutter (19494): #13 Socket.onopen (package:socket_io_client/src/socket.dart:352:7)
E/flutter (19494): #14 EventEmitter._emit.<anonymous closure> (package:socket_io_common/src/util/event_emitter.dart:44:14)
E/flutter (19494): #15 List.forEach (dart:core-patch/growable_array.dart:428:8)
E/flutter (19494): #16 EventEmitter._emit (package:socket_io_common/src/util/event_emitter.dart:43:11)
E/flutter (19494): #17 EventEmitter.emitReserved (package:socket_io_common/src/util/event_emitter.dart:57:47)
E/flutter (19494): #18 Manager.onopen (package:socket_io_client/src/manager.dart:247:5)
E/flutter (19494): #19 Manager.open.<anonymous closure> (package:socket_io_client/src/manager.dart:180:7)
E/flutter (19494): #20 EventEmitter._emit.<anonymous closure> (package:socket_io_common/src/util/event_emitter.dart:44:14)
E/flutter (19494): #21 List.forEach (dart:core-patch/growable_array.dart:428:8)
E/flutter (19494): #22 EventEmitter._emit (package:socket_io_common/src/util/event_emitter.dart:43:11)
E/flutter (19494): #23 EventEmitter.emitReserved (package:socket_io_common/src/util/event_emitter.dart:57:47)
E/flutter (19494): #24 Socket.onOpen (package:socket_io_client/src/engine/socket.dart:347:5)
E/flutter (19494): #25 Socket.onHandshake (package:socket_io_client/src/engine/socket.dart:418:5)
E/flutter (19494): #26 Socket.onPacket (package:socket_io_client/src/engine/socket.dart:382:11)
E/flutter (19494): #27 Socket.setTransport.<anonymous closure> (package:socket_io_client/src/engine/socket.dart:217:34)
E/flutter (19494): #28 EventEmitter._emit.<anonymous closure> (package:socket_io_common/src/util/event_emitter.dart:44:14)
E/flutter (19494): #29 List.forEach (dart:core-patch/growable_array.dart:428:8)
E/flutter (19494): #30 EventEmitter._emit (package:socket_io_common/src/util/event_emitter.dart:43:11)
E/flutter (19494): #31 EventEmitter.emitReserved (package:socket_io_common/src/util/event_emitter.dart:57:47)
E/flutter (19494): #32 Transport.onPacket (package:socket_io_client/src/engine/transport.dart:95:5)
E/flutter (19494): #33 Transport.onData (package:socket_io_client/src/engine/transport.dart:89:5)
E/flutter (19494): #34 IOWebSocketTransport.addEventListeners.<anonymous closure> (package:socket_io_client/src/engine/transport/io_websocket_transport.dart:59:7)
E/flutter (19494): #35 _RootZone.runUnaryGuarded (dart:async/zone.dart:1778:10)
E/flutter (19494): #36 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:381:11)
E/flutter (19494): #37 _BufferingStreamSubscription._add (dart:async/stream_impl.dart:312:7)
E/flutter (19494): #38 _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:798:19)
E/flutter (19494): #39 _StreamController._add (dart:async/stream_controller.dart:663:7)
E/flutter (19494): #40 _StreamController.add (dart:async/stream_controller.dart:618:5)
E/flutter (19494): #41 new _WebSocketImpl._fromSocket.<anonymous closure> (dart:_http/websocket_impl.dart:1252:27)
E/flutter (19494): #42 _RootZone.runUnaryGuarded (dart:async/zone.dart:1778:10)
E/flutter (19494): #43 _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:381:11)
E/flutter (19494): #44 _BufferingStreamSubscription._add (dart:async/stream_impl.dart:312:7)
E/flutter (19494): #45 _SinkTransformerStreamSubscription._add (dart:async/stream_transformers.dart:67:11)
E/flutter (19494): #46 _EventSinkWrapper.add (dart:async/stream_transformers.dart:13:11)
E/flutter (19494): #47 _WebSocketProtocolTransformer._messageFrameEnd (dart:_http/websocket_impl.dart:348:23)
E/flutter (19494): #48 _WebSocketProtocolTransformer.add (dart:_http/websocket_impl.dart:238:46)
E/flutter (19494): #49 _SinkTransformerStreamSubscription._handleData (dart:async/stream_transformers.dart:115:24)
E/flutter (19494): #50 _HttpDetachedStreamSubscription._maybeScheduleData.<anonymous closure> (dart:_http/http_parser.dart:187:20)
E/flutter (19494): #51 _microtaskLoop (dart:async/schedule_microtask.dart:40:35)
E/flutter (19494): #52 _startMicrotaskLoop (dart:async/schedule_microtask.dart:49:5)
Hi @AbdoPrDZ,
thanks for the version update, however with the Version 2.0 im facing an issue with the auth headers beeing transformed to future map instead of normal map.
At some point in the lifecycle of opening the socket connection, the headers are apparently tried to be encoded, which does not work for a Closure which is why i need to downgrade unfortionately.
this is how i create the socket:
This is the error i get: