Browse Source
feat: drains http body if buffer is too small
Signed-off-by: divinerapier <poriter.coco@gmail.com>
pull/1173/head
divinerapier
5 years ago
No known key found for this signature in database
GPG Key ID: EA114C69199EE3BB
1 changed files with
9 additions and
1 deletions
-
weed/util/http_util.go
|
|
@ -235,8 +235,16 @@ func ReadUrl(fileUrl string, offset int64, size int, buf []byte, isReadRange boo |
|
|
|
if err != nil { |
|
|
|
return n, err |
|
|
|
} |
|
|
|
if n == int64(len(buf)) { |
|
|
|
break |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// drains the response body to avoid memory leak
|
|
|
|
data, err := ioutil.ReadAll(reader) |
|
|
|
if len(data) != 0 { |
|
|
|
err = fmt.Errorf("buffer size is too small. remains %d", len(data)) |
|
|
|
} |
|
|
|
return n, err |
|
|
|
} |
|
|
|
|
|
|
|
func ReadUrlAsStream(fileUrl string, offset int64, size int, fn func(data []byte)) (int64, error) { |
|
|
|