diff --git a/pkg/liberrors/server.go b/pkg/liberrors/server.go index 54e1c780..ab1c5862 100644 --- a/pkg/liberrors/server.go +++ b/pkg/liberrors/server.go @@ -2,6 +2,7 @@ package liberrors import ( "fmt" + "net" "github.com/aler9/gortsplib/pkg/base" "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. -type ErrServerSessionTeardown struct{} +type ErrServerSessionTeardown struct { + Author net.Addr +} // Error implements the error interface. 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. diff --git a/serversession.go b/serversession.go index 71016f1b..d479a3e2 100644 --- a/serversession.go +++ b/serversession.go @@ -1019,7 +1019,7 @@ func (ss *ServerSession) handleRequest(sc *ServerConn, req *base.Request) (*base case base.Teardown: return &base.Response{ StatusCode: base.StatusOK, - }, liberrors.ErrServerSessionTeardown{} + }, liberrors.ErrServerSessionTeardown{Author: sc.NetConn().RemoteAddr()} case base.GetParameter: if h, ok := sc.s.Handler.(ServerHandlerOnGetParameter); ok {