HTTP streaming is a technique based on using a long-lived HTTP connection between a client and a server with a chunked transfer encoding. Usually it only allows unidirectional flow of messages from server to client but with Centrifugo bidirectional emulation layer it may be used as a full-featured fallback or alternative to WebSocket.
HTTP-streaming connection endpoint in Centrifugo is:
const transports = [
const centrifuge = new Centrifuge(transports);
Make sure allowed_origins are properly configured.
Enables HTTP streaming endpoint. And enables emulation endpoint (
/emulation by default) to accept emulation HTTP requests from clients.
http_stream you can connect to
centrifuge-js. Note that our bidirectional emulation also uses
/emulation endpoint of Centrifugo to send requests from client to server. This is required because HTTP streaming is a unidirectional transport in its nature. So we use HTTP call to send data from client to server and proxy this call to the correct Centrifugo node which handles the connection. Thus achieving bidirectional behaviour - see details about Centrifugo bidirectional emulation layer. Make sure
/emulation endpoint is available for requests from the client side too. If required, you can also control both HTTP streaming connection url prefix and emulation endpoint prefix, see customizing endpoints.
Default: 65536 (64KB)
Maximum allowed size of a initial HTTP POST request in bytes.