rpc: use gorilla websockets

Conflicts:
	rpc/handlers.go
	rpc/http_server.go
This commit is contained in:
Ethan Buchman
2015-04-07 02:28:21 -05:00
parent 98fa3b7b9c
commit 12814db90d
4 changed files with 95 additions and 11 deletions

View File

@@ -1,6 +1,10 @@
package rpc
import (
"fmt"
"github.com/gorilla/websocket"
"github.com/tendermint/tendermint/rpc"
"net/http"
"testing"
)
@@ -73,3 +77,38 @@ func TestJSONCallCode(t *testing.T) {
func TestJSONCallContract(t *testing.T) {
testCall(t, "JSONRPC")
}
//--------------------------------------------------------------------------------
// Test the websocket client
func TestWSConnect(t *testing.T) {
dialer := websocket.DefaultDialer
rHeader := http.Header{}
_, r, err := dialer.Dial(websocketAddr, rHeader)
if err != nil {
t.Fatal(err)
}
fmt.Println("respoinse:", r)
}
func TestWSSubscribe(t *testing.T) {
dialer := websocket.DefaultDialer
rHeader := http.Header{}
con, _, err := dialer.Dial(websocketAddr, rHeader)
if err != nil {
t.Fatal(err)
}
err = con.WriteJSON(rpc.WsRequest{
Type: "subscribe",
Event: "newblock",
})
if err != nil {
t.Fatal(err)
}
/*
typ, p, err := con.ReadMessage()
fmt.Println("RESPONSE:", typ, string(p), err)
*/
}