pangiole / akka-wamp

WAMP - Web Application Messaging Protocol implementation written with Akka
Other
47 stars 12 forks source link

Provide WebSocket over TLS #14

Closed pangiole closed 7 years ago

pangiole commented 8 years ago

Some people asked for SSL/TLS support to let akka-wamp client to subscribe to POLONIEX brokers.

Details are published in https://poloniex.com/support/api/

It would be good to implement this enhancement as soon as possible alongside with a working example.

ElectricBill commented 7 years ago

I have the same requirement. I see "wss:..." references in some of the sample code in this repository and cannot reconcile with this issue as there is no indication about change in status.

My project uses Glassfish Tyrus for websocket/TLS support against GDAX and I turned to this repo as a possible solution for interfacing Poloniex which uses a WAMP layer. Now I don't understand how akka-wamp uses the transport layer or what is required to pull this together. I hope someone will be kind enough to clarify for me what needs to be done here. I'd be happy to help here if I can, but I'm still foggy on the architecture and I need some more clues.

pangiole commented 7 years ago

I just started to work on it, though I'll be more than happy to consider contributions for it.

This task is not a few minutes job as the following Akka HTTP docs are needed to be deeply understood:

Please, bear in mind that the core of Akka Wamp is built as an Akka IO Extension. Read the following for further details on its internal architecture:

ElectricBill commented 7 years ago

Thanks so much for your thoughtful and helpful response. I'm very inexperienced with Akka, having only used it with borrowed code I adapted to make a web front-end to my market monitor daemon. I'm still overwhelmed by the complexity of the components I'm using so I probably won't be much use to you.

The links you provided put me on the trail to clear examples of Akka websocket support that I did not find (or maybe just scared me) a few weeks ago which is why I used Glassfish Tyrus. I just pulled in some of the sample code to run alongside the Tyrus implementation and it worked fine on the first shot as a worker Thread in my process against ws://echo.websocket.org, so that's an encouraging proof of concept for me! I'm going to try adapting my GDAX (cryptocurrency exchange) interface accordingly. Then maybe I'll be ready to dig into the WAMP layer. But to be honest, I hope you get it done first! :)

Thanks again.

pangiole commented 7 years ago

Akka Wamp finally provides support for TLS/SSL from release 0.14.0. Have a look at the official user guide

http://angiolep.github.io/projects/akka-wamp/

and a simple example to connect to Poloniex API

https://github.com/angiolep/akka-wamp/tree/master/examples/poloniex