nes
nes copied to clipboard
Polling option fallback
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.
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!