package nostr import ( "github.com/gorilla/websocket" "sync" ) type Connection struct { socket *websocket.Conn mutex sync.Mutex } func NewConnection(socket *websocket.Conn) *Connection { return &Connection{ socket: socket, } } func (c *Connection) WriteJSON(v interface{}) error { c.mutex.Lock() defer c.mutex.Unlock() return c.socket.WriteJSON(v) } func (c *Connection) WriteMessage(messageType int, data []byte) error { c.mutex.Lock() defer c.mutex.Unlock() return c.socket.WriteMessage(messageType, data) } func (c *Connection) Close() error { return c.socket.Close() }