@@ -29,6 +29,7 @@ import (
29
29
"go.uber.org/multierr"
30
30
31
31
"nhooyr.io/websocket"
32
+ "nhooyr.io/websocket/internal/wsecho"
32
33
"nhooyr.io/websocket/wsjson"
33
34
"nhooyr.io/websocket/wspb"
34
35
)
@@ -966,7 +967,7 @@ func TestAutobahn(t *testing.T) {
966
967
967
968
ctx := r .Context ()
968
969
if testingClient {
969
- echoLoop (r .Context (), c )
970
+ wsecho . Loop (r .Context (), c )
970
971
return nil
971
972
}
972
973
@@ -1007,7 +1008,7 @@ func TestAutobahn(t *testing.T) {
1007
1008
return
1008
1009
}
1009
1010
1010
- echoLoop (ctx , c )
1011
+ wsecho . Loop (ctx , c )
1011
1012
}
1012
1013
t .Run (name , func (t * testing.T ) {
1013
1014
t .Parallel ()
@@ -1849,47 +1850,6 @@ func TestAutobahn(t *testing.T) {
1849
1850
})
1850
1851
}
1851
1852
1852
- func echoLoop (ctx context.Context , c * websocket.Conn ) {
1853
- defer c .Close (websocket .StatusInternalError , "" )
1854
-
1855
- c .SetReadLimit (1 << 40 )
1856
-
1857
- ctx , cancel := context .WithTimeout (ctx , time .Minute )
1858
- defer cancel ()
1859
-
1860
- b := make ([]byte , 32768 )
1861
- echo := func () error {
1862
- typ , r , err := c .Reader (ctx )
1863
- if err != nil {
1864
- return err
1865
- }
1866
-
1867
- w , err := c .Writer (ctx , typ )
1868
- if err != nil {
1869
- return err
1870
- }
1871
-
1872
- _ , err = io .CopyBuffer (w , r , b )
1873
- if err != nil {
1874
- return err
1875
- }
1876
-
1877
- err = w .Close ()
1878
- if err != nil {
1879
- return err
1880
- }
1881
-
1882
- return nil
1883
- }
1884
-
1885
- for {
1886
- err := echo ()
1887
- if err != nil {
1888
- return
1889
- }
1890
- }
1891
- }
1892
-
1893
1853
func assertCloseStatus (err error , code websocket.StatusCode ) error {
1894
1854
var cerr websocket.CloseError
1895
1855
if ! errors .As (err , & cerr ) {
@@ -1898,24 +1858,6 @@ func assertCloseStatus(err error, code websocket.StatusCode) error {
1898
1858
return assertEqualf (code , cerr .Code , "unexpected status code" )
1899
1859
}
1900
1860
1901
- func assertJSONRead (ctx context.Context , c * websocket.Conn , exp interface {}) (err error ) {
1902
- var act interface {}
1903
- err = wsjson .Read (ctx , c , & act )
1904
- if err != nil {
1905
- return err
1906
- }
1907
-
1908
- return assertEqualf (exp , act , "unexpected JSON" )
1909
- }
1910
-
1911
- func randBytes (n int ) []byte {
1912
- return make ([]byte , n )
1913
- }
1914
-
1915
- func randString (n int ) string {
1916
- return string (randBytes (n ))
1917
- }
1918
-
1919
1861
func assertEcho (ctx context.Context , c * websocket.Conn , typ websocket.MessageType , n int ) error {
1920
1862
p := randBytes (n )
1921
1863
err := c .Write (ctx , typ , p )
@@ -1949,13 +1891,6 @@ func assertSubprotocol(c *websocket.Conn, exp string) error {
1949
1891
return assertEqualf (exp , c .Subprotocol (), "unexpected subprotocol" )
1950
1892
}
1951
1893
1952
- func assertEqualf (exp , act interface {}, f string , v ... interface {}) error {
1953
- if diff := cmpDiff (exp , act ); diff != "" {
1954
- return fmt .Errorf (f + ": %v" , append (v , diff )... )
1955
- }
1956
- return nil
1957
- }
1958
-
1959
1894
func assertNetConnRead (r io.Reader , exp string ) error {
1960
1895
act := make ([]byte , len (exp ))
1961
1896
_ , err := r .Read (act )
0 commit comments