2015-05-01 22:20:22 +00:00
|
|
|
// Copyright 2013 The Gorilla WebSocket Authors. All rights reserved.
|
|
|
|
// Use of this source code is governed by a BSD-style
|
|
|
|
// license that can be found in the LICENSE file.
|
|
|
|
|
|
|
|
package websocket
|
|
|
|
|
|
|
|
import (
|
|
|
|
"encoding/json"
|
|
|
|
"io"
|
|
|
|
)
|
|
|
|
|
2018-05-04 21:39:27 +00:00
|
|
|
// WriteJSON writes the JSON encoding of v as a message.
|
|
|
|
//
|
|
|
|
// Deprecated: Use c.WriteJSON instead.
|
2015-05-01 22:20:22 +00:00
|
|
|
func WriteJSON(c *Conn, v interface{}) error {
|
|
|
|
return c.WriteJSON(v)
|
|
|
|
}
|
|
|
|
|
2018-05-04 21:39:27 +00:00
|
|
|
// WriteJSON writes the JSON encoding of v as a message.
|
2015-05-01 22:20:22 +00:00
|
|
|
//
|
|
|
|
// See the documentation for encoding/json Marshal for details about the
|
|
|
|
// conversion of Go values to JSON.
|
|
|
|
func (c *Conn) WriteJSON(v interface{}) error {
|
|
|
|
w, err := c.NextWriter(TextMessage)
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
err1 := json.NewEncoder(w).Encode(v)
|
|
|
|
err2 := w.Close()
|
|
|
|
if err1 != nil {
|
|
|
|
return err1
|
|
|
|
}
|
|
|
|
return err2
|
|
|
|
}
|
|
|
|
|
2018-05-04 21:39:27 +00:00
|
|
|
// ReadJSON reads the next JSON-encoded message from the connection and stores
|
|
|
|
// it in the value pointed to by v.
|
|
|
|
//
|
|
|
|
// Deprecated: Use c.ReadJSON instead.
|
2015-05-01 22:20:22 +00:00
|
|
|
func ReadJSON(c *Conn, v interface{}) error {
|
|
|
|
return c.ReadJSON(v)
|
|
|
|
}
|
|
|
|
|
|
|
|
// ReadJSON reads the next JSON-encoded message from the connection and stores
|
|
|
|
// it in the value pointed to by v.
|
|
|
|
//
|
|
|
|
// See the documentation for the encoding/json Unmarshal function for details
|
|
|
|
// about the conversion of JSON to a Go value.
|
|
|
|
func (c *Conn) ReadJSON(v interface{}) error {
|
|
|
|
_, r, err := c.NextReader()
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
err = json.NewDecoder(r).Decode(v)
|
|
|
|
if err == io.EOF {
|
2016-01-15 18:48:03 +00:00
|
|
|
// One value is expected in the message.
|
2015-05-01 22:20:22 +00:00
|
|
|
err = io.ErrUnexpectedEOF
|
|
|
|
}
|
|
|
|
return err
|
|
|
|
}
|