gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

json.go (1521B)


      1 // Copyright 2013 The Gorilla WebSocket Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style
      3 // license that can be found in the LICENSE file.
      4 
      5 package websocket
      6 
      7 import (
      8 	"encoding/json"
      9 	"io"
     10 )
     11 
     12 // WriteJSON writes the JSON encoding of v as a message.
     13 //
     14 // Deprecated: Use c.WriteJSON instead.
     15 func WriteJSON(c *Conn, v interface{}) error {
     16 	return c.WriteJSON(v)
     17 }
     18 
     19 // WriteJSON writes the JSON encoding of v as a message.
     20 //
     21 // See the documentation for encoding/json Marshal for details about the
     22 // conversion of Go values to JSON.
     23 func (c *Conn) WriteJSON(v interface{}) error {
     24 	w, err := c.NextWriter(TextMessage)
     25 	if err != nil {
     26 		return err
     27 	}
     28 	err1 := json.NewEncoder(w).Encode(v)
     29 	err2 := w.Close()
     30 	if err1 != nil {
     31 		return err1
     32 	}
     33 	return err2
     34 }
     35 
     36 // ReadJSON reads the next JSON-encoded message from the connection and stores
     37 // it in the value pointed to by v.
     38 //
     39 // Deprecated: Use c.ReadJSON instead.
     40 func ReadJSON(c *Conn, v interface{}) error {
     41 	return c.ReadJSON(v)
     42 }
     43 
     44 // ReadJSON reads the next JSON-encoded message from the connection and stores
     45 // it in the value pointed to by v.
     46 //
     47 // See the documentation for the encoding/json Unmarshal function for details
     48 // about the conversion of JSON to a Go value.
     49 func (c *Conn) ReadJSON(v interface{}) error {
     50 	_, r, err := c.NextReader()
     51 	if err != nil {
     52 		return err
     53 	}
     54 	err = json.NewDecoder(r).Decode(v)
     55 	if err == io.EOF {
     56 		// One value is expected in the message.
     57 		err = io.ErrUnexpectedEOF
     58 	}
     59 	return err
     60 }