proper error handling

cleanup files
This commit is contained in:
Oliver Eiber
2025-07-16 21:07:34 +02:00
parent e00d211619
commit 56e61a85ee
2 changed files with 10 additions and 21 deletions
+10 -16
View File
@@ -5,9 +5,8 @@ import (
"errors"
"fmt"
"net"
"net/http"
"net/url"
"strconv"
"strings"
"time"
"github.com/AlexxIT/go2rtc/pkg/core"
@@ -57,20 +56,15 @@ func Dial(rawURL string) (*Client, error) {
return nil, err
}
reader := bufio.NewReader(conn)
statusLine, _ := reader.ReadString('\n')
parts := strings.SplitN(statusLine, " ", 3)
if len(parts) >= 2 {
statusCode, err := strconv.Atoi(parts[1])
if err == nil {
if statusCode == 204 {
conn.Close()
return nil, errors.New("DoorBird user has no api permission")
}
if statusCode == 503 {
conn.Close()
return nil, errors.New("DoorBird device is busy")
}
resp, _ := http.ReadResponse(bufio.NewReader(conn), nil)
if resp != nil {
switch resp.StatusCode {
case 204:
conn.Close()
return nil, errors.New("DoorBird user has no api permission")
case 503:
conn.Close()
return nil, errors.New("DoorBird device is busy")
}
}
-5
View File
@@ -1,5 +0,0 @@
package doorbird
import "sync"
var backchannelMu sync.Mutex