123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- // 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"
- )
- // WriteJSON writes the JSON encoding of v as a message.
- //
- // Deprecated: Use c.WriteJSON instead.
- func WriteJSON(c *Conn, v interface{}) error {
- return c.WriteJSON(v)
- }
- // WriteJSON writes the JSON encoding of v as a message.
- //
- // 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
- }
- // 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.
- 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 {
- // One value is expected in the message.
- err = io.ErrUnexpectedEOF
- }
- return err
- }
|