mirror of
https://github.com/hanzoai/go-openai-realtime.git
synced 2026-09-30 21:54:42 +00:00
Merge pull request #4 from WqyJh/feat-message-raw
feat: add SendMessageRaw/ReadMessageRaw
This commit is contained in:
@@ -19,17 +19,22 @@ 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
|
||||
@@ -37,6 +42,15 @@ func (c *Conn) ReadMessage(ctx context.Context) (ServerEvent, error) {
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user