Skip to content

Issue with 2.0 #18

Description

@Andi1986

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions