mirror of
https://github.com/aler9/gortsplib
synced 2025-10-05 15:16:51 +08:00
server: normalize errors
This commit is contained in:
@@ -65,14 +65,14 @@ func (e ErrServerUnhandledRequest) Error() string {
|
||||
return fmt.Sprintf("unhandled request (%v %v)", e.Req.Method, e.Req.URL)
|
||||
}
|
||||
|
||||
// ErrServerWrongState is an error that can be returned by a server.
|
||||
type ErrServerWrongState struct {
|
||||
// ErrServerInvalidState is an error that can be returned by a server.
|
||||
type ErrServerInvalidState struct {
|
||||
AllowedList []fmt.Stringer
|
||||
State fmt.Stringer
|
||||
}
|
||||
|
||||
// Error implements the error interface.
|
||||
func (e ErrServerWrongState) Error() string {
|
||||
func (e ErrServerInvalidState) Error() string {
|
||||
return fmt.Sprintf("must be in state %v, while is in state %v",
|
||||
e.AllowedList, e.State)
|
||||
}
|
||||
@@ -141,14 +141,14 @@ func (e ErrServerTrackAlreadySetup) Error() string {
|
||||
return fmt.Sprintf("track %d has already been setup", e.TrackID)
|
||||
}
|
||||
|
||||
// ErrServerTransportHeaderWrongMode is an error that can be returned by a server.
|
||||
type ErrServerTransportHeaderWrongMode struct {
|
||||
// ErrServerTransportHeaderInvalidMode is an error that can be returned by a server.
|
||||
type ErrServerTransportHeaderInvalidMode struct {
|
||||
Mode *headers.TransportMode
|
||||
}
|
||||
|
||||
// Error implements the error interface.
|
||||
func (e ErrServerTransportHeaderWrongMode) Error() string {
|
||||
return fmt.Sprintf("transport header contains a wrong mode (%v)", e.Mode)
|
||||
func (e ErrServerTransportHeaderInvalidMode) Error() string {
|
||||
return fmt.Sprintf("transport header contains a invalid mode (%v)", e.Mode)
|
||||
}
|
||||
|
||||
// ErrServerTransportHeaderNoClientPorts is an error that can be returned by a server.
|
||||
@@ -167,15 +167,15 @@ func (e ErrServerTransportHeaderNoInterleavedIDs) Error() string {
|
||||
return "transport header does not contain interleaved IDs"
|
||||
}
|
||||
|
||||
// ErrServerTransportHeaderWrongInterleavedIDs is an error that can be returned by a server.
|
||||
type ErrServerTransportHeaderWrongInterleavedIDs struct {
|
||||
// ErrServerTransportHeaderInvalidInterleavedIDs is an error that can be returned by a server.
|
||||
type ErrServerTransportHeaderInvalidInterleavedIDs struct {
|
||||
Expected [2]int
|
||||
Value [2]int
|
||||
}
|
||||
|
||||
// Error implements the error interface.
|
||||
func (e ErrServerTransportHeaderWrongInterleavedIDs) Error() string {
|
||||
return fmt.Sprintf("wrong interleaved IDs, expected %v, got %v", e.Expected, e.Value)
|
||||
func (e ErrServerTransportHeaderInvalidInterleavedIDs) Error() string {
|
||||
return fmt.Sprintf("invalid interleaved IDs, expected %v, got %v", e.Expected, e.Value)
|
||||
}
|
||||
|
||||
// ErrServerTracksDifferentProtocols is an error that can be returned by a server.
|
||||
|
@@ -904,7 +904,7 @@ func TestServerPublish(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestServerPublishErrorWrongProtocol(t *testing.T) {
|
||||
func TestServerPublishErrorInvalidProtocol(t *testing.T) {
|
||||
s := &Server{
|
||||
Handler: &testServerHandler{
|
||||
onAnnounce: func(ctx *ServerHandlerOnAnnounceCtx) (*base.Response, error) {
|
||||
|
@@ -495,7 +495,7 @@ func TestServerClose(t *testing.T) {
|
||||
s.Close()
|
||||
}
|
||||
|
||||
func TestServerErrorWrongUDPPorts(t *testing.T) {
|
||||
func TestServerErrorInvalidUDPPorts(t *testing.T) {
|
||||
t.Run("non consecutive", func(t *testing.T) {
|
||||
s := &Server{
|
||||
UDPRTPAddress: "127.0.0.1:8006",
|
||||
|
@@ -212,7 +212,7 @@ func (ss *ServerSession) checkState(allowed map[ServerSessionState]struct{}) err
|
||||
allowedList[i] = a
|
||||
i++
|
||||
}
|
||||
return liberrors.ErrServerWrongState{AllowedList: allowedList, State: ss.state}
|
||||
return liberrors.ErrServerInvalidState{AllowedList: allowedList, State: ss.state}
|
||||
}
|
||||
|
||||
func (ss *ServerSession) run() {
|
||||
@@ -553,7 +553,7 @@ func (ss *ServerSession) handleRequest(sc *ServerConn, req *base.Request) (*base
|
||||
if inTH.Mode != nil && *inTH.Mode != headers.TransportModePlay {
|
||||
return &base.Response{
|
||||
StatusCode: base.StatusBadRequest,
|
||||
}, liberrors.ErrServerTransportHeaderWrongMode{Mode: inTH.Mode}
|
||||
}, liberrors.ErrServerTransportHeaderInvalidMode{Mode: inTH.Mode}
|
||||
}
|
||||
|
||||
default: // record
|
||||
@@ -566,7 +566,7 @@ func (ss *ServerSession) handleRequest(sc *ServerConn, req *base.Request) (*base
|
||||
if inTH.Mode == nil || *inTH.Mode != headers.TransportModeRecord {
|
||||
return &base.Response{
|
||||
StatusCode: base.StatusBadRequest,
|
||||
}, liberrors.ErrServerTransportHeaderWrongMode{Mode: inTH.Mode}
|
||||
}, liberrors.ErrServerTransportHeaderInvalidMode{Mode: inTH.Mode}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -600,7 +600,7 @@ func (ss *ServerSession) handleRequest(sc *ServerConn, req *base.Request) (*base
|
||||
inTH.InterleavedIDs[1] != (1+trackID*2) {
|
||||
return &base.Response{
|
||||
StatusCode: base.StatusBadRequest,
|
||||
}, liberrors.ErrServerTransportHeaderWrongInterleavedIDs{
|
||||
}, liberrors.ErrServerTransportHeaderInvalidInterleavedIDs{
|
||||
Expected: [2]int{(trackID * 2), (1 + trackID*2)}, Value: *inTH.InterleavedIDs,
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user