-
Notifications
You must be signed in to change notification settings - Fork 151
Open
Labels
✏️ FeatureNew feature or requestNew feature or request
Description
Feature Description
The WebSocket read function does not support the binary event type.
Additional Context (optional)
No response
Code Snippet (optional)
func (kws *Websocket) read(ctx context.Context) {
timeoutTicker := time.NewTicker(ReadTimeout)
defer timeoutTicker.Stop()
for {
select {
case <-timeoutTicker.C:
if !kws.hasConn() {
continue
}
kws.mu.RLock()
mType, msg, err := kws.Conn.ReadMessage()
kws.mu.RUnlock()
if mType == PingMessage {
kws.fireEvent(EventPing, nil, nil)
continue
}
if mType == PongMessage {
kws.fireEvent(EventPong, nil, nil)
continue
}
if mType == CloseMessage {
kws.disconnected(nil)
return
}
if err != nil {
kws.disconnected(err)
return
}
if mType == BinaryMessage {
kws.fireEvent(EventBinary, msg, nil)
continue
}
// We have a message and we fire the message event
kws.fireEvent(EventMessage, msg, nil)
case <-ctx.Done():
return
}
}
}Checklist:
- I agree to follow Fiber's Code of Conduct.
- I have checked for existing issues that describe my suggestion prior to opening this one.
- I understand that improperly formatted feature requests may be closed without explanation.
coderabbitai
Metadata
Metadata
Assignees
Labels
✏️ FeatureNew feature or requestNew feature or request