- Username: pygowave_client
- Password: pygowave_client
- Subscribe to a login queue
- Queue name: <random number>.login.waveop
- Additional headers - needed on every queue subscription:
- routing_key: <same as queue name>
- exchange: wavelet.direct
- exclusive: true
- Topic: <random number of login queue>.login.clientop
- Body: {"type": "LOGIN", "property": {"username": "<your username>", "password": "<your password>"}}
- NOTE: This is a JSON-encoded String!
- Additional headers - needed on every sent frame:
- routing_key: <same as topic>
- exchange: wavelet.topic
- The server will answer:
- {"type": "LOGIN", "property": {"rx_key": "<your rx_key>", "tx_key": "<your tx_key>", "viewer_id": "<your viewer_id>"}}
- NOTE: The viewer_id is your wave address, it looks like username@pygowave.net
- Keep your rx_key and tx_key, they are valid throughout the session
- Unsubscribe to the login queue
- Queue name: <rx_key>.manager.waveop
- (Don't forget the additional headers)
- To receive a list of waves, send a message to the manager queue
- Topic: <tx_key>.manager.clientop
- Body: {"type": "WAVE_LIST"}
- (Don't forget the additional headers)
- Your answer:
- {"type": "WAVE_LIST", "property": {"<wave_id>": <serialized wavelets>}}
- BIG NOTE: You must send a PING message at least every 20 seconds, or your connection is treated as timed out
- Topic: <tx_key>.manager.clientop
- Body: {"type": "PING", "property": "<anything or empty, I send a timestamp>"}
