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 (
"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.

View File

@@ -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 {