Skip to content

Commit a486ef5

Browse files
committed
Hikvision: fix delayed events
1 parent f485aca commit a486ef5

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed

servers/dahua/server.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,14 +105,14 @@ func (camera *DhCamera) readEvents(channel chan<- DhEvent, callback func()) {
105105
multipartReader := multipart.NewReader(response.Body, multipartBoundary)
106106
for {
107107
part, err := multipartReader.NextPart()
108-
contentLength, _ := strconv.Atoi(part.Header.Get("Content-Length"))
109108
if err == io.EOF {
110109
break
111110
}
112111
if err != nil {
113112
fmt.Println(err)
114113
continue
115114
}
115+
contentLength, _ := strconv.Atoi(part.Header.Get("Content-Length"))
116116
body := make([]byte, contentLength)
117117
_, err = part.Read(body)
118118
if err != nil {

servers/hikvision/httpEventReader.go

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"mime"
1010
"mime/multipart"
1111
"net/http"
12+
"strconv"
1213
)
1314

1415
type HttpEventReader struct {
@@ -73,7 +74,9 @@ func (eventReader *HttpEventReader) ReadEvents(camera *HikCamera, channel chan<-
7374
fmt.Println(err)
7475
continue
7576
}
76-
body, err := io.ReadAll(part)
77+
contentLength, _ := strconv.Atoi(part.Header.Get("Content-Length"))
78+
body := make([]byte, contentLength)
79+
_, err = part.Read(body)
7780
if err != nil {
7881
fmt.Println(err)
7982
continue

0 commit comments

Comments
 (0)