lukeed / sockette

The cutest little WebSocket wrapper! 🧦
MIT License
2.45k stars 81 forks source link

[Feature] Ability to set url before reconnecting #59

Open hakimio opened 4 years ago

hakimio commented 4 years ago

Right now in order to change websocket url you have to create a new instance of Sockette. This an issue for us because our url includes authorization token which expires after some time and when Sockette tries to reconnect it tries to reconnect using an expired token.

Here are a couple of possible solutions to this issue:

  1. getUrl config which can be set to a function which either returns a string directly or a Promise<string>. Sockette would use this function every time it tries to automatically establish websocket connection.
  2. setUrl() method on the Sockette class and ability to set onreconnect config to a function which returns a Promise. Sockette would wait for onreconnect promise to finish before it would try to reestablish connection.

@lukeed what do you think about it? Do you have any better suggestions?

Gabiras12 commented 3 years ago

Hi i've the same issue. I think the best approach it to update the url param to be a function or a promise or a string the resolves to the websocket URL. Check out #65