mirror of
https://github.com/aler9/gortsplib
synced 2025-10-28 09:31:33 +08:00
server: return the author of a tear down request
This commit is contained in:
@@ -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.
|
||||||
|
|||||||
@@ -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 {
|
||||||
|
|||||||
Reference in New Issue
Block a user