nes icon indicating copy to clipboard operation
nes copied to clipboard

Polling option fallback

Open CarolineBoyer opened this issue 4 years ago • 1 comments
trafficstars

Support plan

  • is this issue currently blocking your project? (yes/no): yes
  • is this issue affecting a production system? (yes/no): yes

Context

  • node version: 12.4.5
  • module version: 12.0.4
  • environment (e.g. node, browser, native): node/browser
  • used with (e.g. hapi application, another framework, standalone, ...): hapiJS
  • any other relevant information:

How can we help?

I looked at docs, as ell as open/closed issue using the 'polling' keyword and couldn't find how to add a polling fallback on hapijs such as this exists on library like socket.io. We would want to use the publish/subscribe method as well as the hapiJS request with 'post/get' method.

/**CLIENT CODE connection **/
return this.socketClient.connect({
	reconnect: true, 	//whether the client should try to reconnect
	delay: 2000,		//time in milliseconds to wait between each reconnection attempt, cumulative
	maxDelay: 15000,	//the maximum delay time in milliseconds between reconnections
	retries: 10		//number of reconnection attempts
})
/** SERVER REGISTER **/
await server.register(
  {
    plugin: Nes,
    options: {
      heartbeat: {
        interval: 15000,
        timeout: 5000
      },
      auth: false
    }
  },
  {
    routes: process.env.ROOT_PATH ? {
      prefix: ROOT_PATH
    } : {}
  }
);

Is such a thing possible using hapiJS/nes ? Or is there another plugin we need to register to instead that would work like hapiJS/nes but with polling experience ?

My dearest apologies for doubling this in hapi ( https://github.com/hapijs/hapi/issues/4287 ), I realized after posting, this was more relevant to hapijs/nes and not hapijs as a whole.

CarolineBoyer avatar Sep 22 '21 16:09 CarolineBoyer

Hello! There is no long-polling functionality that goes along with nes. You may be interested in susie, which has some similarities to nes but uses server-sent events rather than websockets. That isn't long-polling either, but it's a bit closer! Socket.io can also be used with hapi servers, though you wouldn't get the tight integration with hapi routes and authentication that nes provides.

If you're interested in charting the path to supporting long-polling in nes, a proposal for how that would work would be welcome!

devinivy avatar Sep 22 '21 17:09 devinivy