mirror of
https://github.com/aler9/gortsplib
synced 2025-10-05 15:16:51 +08:00
ensure server replies to teardown reqeuests (https://github.com/aler9/rtsp-simple-server/issues/151)
This commit is contained in:
@@ -1,7 +1,10 @@
|
|||||||
package gortsplib
|
package gortsplib
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bufio"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io"
|
||||||
|
"net"
|
||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
"testing"
|
"testing"
|
||||||
@@ -267,3 +270,33 @@ func TestServerPublishReadTCP(t *testing.T) {
|
|||||||
|
|
||||||
require.Equal(t, 0, cnt2.wait())
|
require.Equal(t, 0, cnt2.wait())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestServerTeardown(t *testing.T) {
|
||||||
|
ts, err := newTestServ()
|
||||||
|
require.NoError(t, err)
|
||||||
|
defer ts.close()
|
||||||
|
|
||||||
|
conn, err := net.Dial("tcp", "localhost:8554")
|
||||||
|
require.NoError(t, err)
|
||||||
|
defer conn.Close()
|
||||||
|
bconn := bufio.NewReadWriter(bufio.NewReader(conn), bufio.NewWriter(conn))
|
||||||
|
|
||||||
|
req := base.Request{
|
||||||
|
Method: base.Teardown,
|
||||||
|
URL: base.MustParseURL("rtsp://localhost:8554/"),
|
||||||
|
Header: base.Header{
|
||||||
|
"CSeq": base.HeaderValue{"1"},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
err = req.Write(bconn.Writer)
|
||||||
|
require.NoError(t, err)
|
||||||
|
|
||||||
|
var res base.Response
|
||||||
|
err = res.Read(bconn.Reader)
|
||||||
|
require.NoError(t, err)
|
||||||
|
require.Equal(t, base.StatusOK, res.StatusCode)
|
||||||
|
|
||||||
|
buf := make([]byte, 2048)
|
||||||
|
_, err = bconn.Read(buf)
|
||||||
|
require.Equal(t, io.EOF, err)
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user