From 3ec0020baa97e38440e450777fc292365d3a62f0 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Sat, 9 Dec 2023 09:00:11 -0300 Subject: [PATCH] add OnDisconnect() handlers. --- handlers.go | 4 ++++ relay.go | 1 + 2 files changed, 5 insertions(+) diff --git a/handlers.go b/handlers.go index 89ff9be..11036a2 100644 --- a/handlers.go +++ b/handlers.go @@ -61,6 +61,10 @@ func (rl *Relay) HandleWebsocket(w http.ResponseWriter, r *http.Request) { ) kill := func() { + for _, ondisconnect := range rl.OnDisconnect { + ondisconnect(ctx) + } + ticker.Stop() cancel() if _, ok := rl.clients.Load(conn); ok { diff --git a/relay.go b/relay.go index 6f928b0..356e051 100644 --- a/relay.go +++ b/relay.go @@ -56,6 +56,7 @@ type Relay struct { CountEvents []func(ctx context.Context, filter nostr.Filter) (int64, error) OnAuth []func(ctx context.Context, pubkey string) OnConnect []func(ctx context.Context) + OnDisconnect []func(ctx context.Context) OnEventSaved []func(ctx context.Context, event *nostr.Event) // editing info will affect