Skip to content

Commit

Permalink
Merge pull request #4 from WqyJh/feat-message-raw
Browse files Browse the repository at this point in the history
feat: add SendMessageRaw/ReadMessageRaw
  • Loading branch information
WqyJh authored Nov 5, 2024
2 parents 51c9807 + 4e69764 commit 72c790b
Showing 1 changed file with 17 additions and 3 deletions.
20 changes: 17 additions & 3 deletions conn.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,24 +19,38 @@ func (c *Conn) Close() error {
return c.conn.Close()
}

// SendMessageRaw sends a raw message to the server.
func (c *Conn) SendMessageRaw(ctx context.Context, data []byte) error {
return c.conn.WriteMessage(ctx, MessageText, data)
}

// SendMessage sends a client event to the server.
func (c *Conn) SendMessage(ctx context.Context, msg ClientEvent) error {
data, err := MarshalClientEvent(msg)
if err != nil {
return err
}
return c.conn.WriteMessage(ctx, MessageText, data)
return c.SendMessageRaw(ctx, data)
}

// ReadMessage reads a server event from the server.
func (c *Conn) ReadMessage(ctx context.Context) (ServerEvent, error) {
// ReadMessageRaw reads a raw message from the server.
func (c *Conn) ReadMessageRaw(ctx context.Context) ([]byte, error) {
messageType, data, err := c.conn.ReadMessage(ctx)
if err != nil {
return nil, err
}
if messageType != MessageText {
return nil, fmt.Errorf("expected text message, got %d", messageType)
}
return data, nil
}

// ReadMessage reads a server event from the server.
func (c *Conn) ReadMessage(ctx context.Context) (ServerEvent, error) {
data, err := c.ReadMessageRaw(ctx)
if err != nil {
return nil, err
}
event, err := UnmarshalServerEvent(data)
if err != nil {
return nil, err
Expand Down

0 comments on commit 72c790b

Please # to comment.