Command wspush implements http service relaying redis pubsub messages to
websocket connections or as server-sent events.
wspush subscribes to redis channel(s) using "PSUBSCRIBE prefix*" command
where prefix can be set with -prefix flag. When it receives a message
published to "prefixFoo" channel, it looks up any connected client(s) with
query string parameter "token=Foo" and sends message to each client as a
single websocket binary frame.
If client connects to path ending with /sse, or having "Accept:
text/event-stream" header, messages are delivered as server-sent events
(https://www.w3.org/TR/eventsource/), with default "message" event type. It
is expected that message published to redis is valid utf8 string.
If program started with -hmac flag set to base64 encoded (url-compatible,
padless) secret key, this key is used to verify tokens, which then must be
base64 encoded (url-compatible, padless) values of payload concatenated with
its md5 HMAC signature. Alternatively, key value can also be passed with
WSPUSH_KEY environment variable.
If wspush is started with -ping set to some arbitrary payload, that payload will
be sent as a heartbeat every 45 seconds. Otherwise, an empty ping will be sent
instead ("ping" message for server-sent events, or unsollicited "pong" frame for
websocket connections).
Command wspush implements http service relaying redis pubsub messages to
websocket connections or as server-sent events.
wspush subscribes to redis channel(s) using "PSUBSCRIBE prefix*" command
where prefix can be set with -prefix flag. When it receives a message
published to "prefixFoo" channel, it looks up any connected client(s) with
query string parameter "token=Foo" and sends message to each client as a
single websocket binary frame.
If client connects to path ending with /sse, or having "Accept:
text/event-stream" header, messages are delivered as server-sent events
(https://www.w3.org/TR/eventsource/), with default "message" event type. It
is expected that message published to redis is valid utf8 string.
If program started with -hmac flag set to base64 encoded (url-compatible,
padless) secret key, this key is used to verify tokens, which then must be
base64 encoded (url-compatible, padless) values of payload concatenated with
its md5 HMAC signature. Alternatively, key value can also be passed with a
WSPUSH_KEY environment variable.