So I just spent quite an amount of time posting a lengthy question with specifics and examples but Google Groups simply didn't post.
I'll make this short:
In github issue below Andew writes:
Ah, well that's because you don't have a path key in your message - the routing isn't magical, it just goes off of the contents of the message. websocket.connect and websocket.receive messages include a path key so they can be routed, whereas yours just has a message key.
Given you have made a separate channel especially for this, there's no need for the path routing unless you really want to distinguish it, in which case you should ensure a path is added to the message when it's sent onto the channel.
Emphasis mine. Does that mean I don't have to parse the path in each of my consumers in order for them to not send a message down to the same message.
Even with this setup, which as I understand should separate between the different consumers per socket:
fb_routing = [
route("websocket.connect", consumers.connect_face),
route("websocket.receive", consumers.get_face),
route("websocket.disconnect", consumers.disconnect_face)
]
channel_routing = [
include(fb_routing, path=r'^/import/$'),
route('websocket.connect', consumers.ws_connect),
route('websocket.disconnect', consumers.ws_disconnect),
route('websocket.receive', consumers.ws_receive),
]
Both consumers are getting called when I send a message from Javascript with the path:
var ws_scheme = window.location.protocol == "http:" ? "ws" : "wss";
var ws_path = ws_scheme + '://' + window.location.host + "/import";
console.log("Connecting to " + ws_path);
var mysocket = new ReconnectingWebSocket(ws_path);
So as I understand it now, there's no way to prevent both consumers listening to websocket.connect from getting the message, I can only prevent them from sending the wrong message to the wrong group?
All I want to achieve is to have a separate websocket and its set of consumers on `/import` so I don't have to do multiple if clauses.