[feature] Support multiple subscriptions on single websocket connection (#1489)

- Allow Oauth authentication on websocket endpoint
- Make streamType query parameter optional
- Read websocket commands from client and update subscriptions
This commit is contained in:
darrinsmart 2023-03-11 02:10:58 -08:00 committed by GitHub
commit e323a930bf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 74 additions and 26 deletions

View file

@ -63,12 +63,15 @@ func (p *Processor) toAccount(payload string, event string, timelines []string,
}
for _, t := range timelines {
if s.Timeline == string(t) {
if _, found := s.Timelines[t]; found {
s.Messages <- &stream.Message{
Stream: []string{string(t)},
Event: string(event),
Payload: payload,
}
// break out to the outer loop, to avoid sending duplicates
// of the same event to the same stream
break
}
}
}