1
0
mirror of https://github.com/pocketbase/pocketbase.git synced 2025-11-25 15:42:01 +02:00

[#3054] added core.RealtimeConnectEvent.IdleTimeout field

This commit is contained in:
Gani Georgiev
2023-08-03 12:38:02 +03:00
parent b1093baef7
commit 06d3e27e03
4 changed files with 3290 additions and 3284 deletions

View File

@@ -66,6 +66,7 @@ func (api *realtimeApi) connect(c echo.Context) error {
connectEvent := &core.RealtimeConnectEvent{
HttpContext: c,
Client: client,
IdleTimeout: 5 * time.Minute,
}
if err := api.app.OnRealtimeConnectRequest().Trigger(connectEvent); err != nil {
@@ -103,8 +104,8 @@ func (api *realtimeApi) connect(c echo.Context) error {
}
// start an idle timer to keep track of inactive/forgotten connections
idleDuration := 5 * time.Minute
idleTimer := time.NewTimer(idleDuration)
idleTimeout := connectEvent.IdleTimeout
idleTimer := time.NewTimer(idleTimeout)
defer idleTimer.Stop()
for {
@@ -143,7 +144,7 @@ func (api *realtimeApi) connect(c echo.Context) error {
}
idleTimer.Stop()
idleTimer.Reset(idleDuration)
idleTimer.Reset(idleTimeout)
case <-c.Request().Context().Done():
// connection is closed
if api.app.IsDebug() {