server: return the author of a tear down request

This commit is contained in:
aler9
2021-10-27 19:11:19 +02:00
parent 0ff969397d
commit 31a34d81c1
2 changed files with 6 additions and 3 deletions

View File

@@ -2,6 +2,7 @@ package liberrors
import ( import (
"fmt" "fmt"
"net"
"github.com/aler9/gortsplib/pkg/base" "github.com/aler9/gortsplib/pkg/base"
"github.com/aler9/gortsplib/pkg/headers" "github.com/aler9/gortsplib/pkg/headers"
@@ -224,11 +225,13 @@ func (e ErrServerLinkedToOtherSession) Error() string {
} }
// ErrServerSessionTeardown is an error that can be returned by a server. // ErrServerSessionTeardown is an error that can be returned by a server.
type ErrServerSessionTeardown struct{} type ErrServerSessionTeardown struct {
Author net.Addr
}
// Error implements the error interface. // Error implements the error interface.
func (e ErrServerSessionTeardown) Error() string { func (e ErrServerSessionTeardown) Error() string {
return "teared down by a request" return fmt.Sprintf("teared down by %v", e.Author)
} }
// ErrServerSessionLinkedToOtherConn is an error that can be returned by a server. // ErrServerSessionLinkedToOtherConn is an error that can be returned by a server.

View File

@@ -1019,7 +1019,7 @@ func (ss *ServerSession) handleRequest(sc *ServerConn, req *base.Request) (*base
case base.Teardown: case base.Teardown:
return &base.Response{ return &base.Response{
StatusCode: base.StatusOK, StatusCode: base.StatusOK,
}, liberrors.ErrServerSessionTeardown{} }, liberrors.ErrServerSessionTeardown{Author: sc.NetConn().RemoteAddr()}
case base.GetParameter: case base.GetParameter:
if h, ok := sc.s.Handler.(ServerHandlerOnGetParameter); ok { if h, ok := sc.s.Handler.(ServerHandlerOnGetParameter); ok {