@@ -43,7 +43,7 @@ func GetRangeReadCloserFromLink(size int64, link *model.Link) (model.RangeReadCl
4343 return nil , fmt .Errorf ("http request failure,status: %d err:%s" , response .StatusCode , err )
4444 }
4545 if r .Start == 0 && (r .Length == - 1 || r .Length == size ) || response .StatusCode == http .StatusPartialContent ||
46- checkContentRange (& response .Header , size , r .Start ) {
46+ checkContentRange (& response .Header , r .Start ) {
4747 return response .Body , nil
4848 } else if response .StatusCode == http .StatusOK {
4949 log .Warnf ("remote http server not supporting range request, expect low perfromace!" )
@@ -72,12 +72,12 @@ func RequestRangedHttp(ctx context.Context, link *model.Link, offset, length int
7272}
7373
7474// 139 cloud does not properly return 206 http status code, add a hack here
75- func checkContentRange (header * http.Header , size , offset int64 ) bool {
76- r , err2 := http_range .ParseRange (header .Get ("Content-Range" ), size )
77- if err2 != nil {
78- log .Warnf ("exception trying to parse Content-Range, will ignore,err=%s" , err2 )
75+ func checkContentRange (header * http.Header , offset int64 ) bool {
76+ start , _ , err := http_range .ParseContentRange (header .Get ("Content-Range" ))
77+ if err != nil {
78+ log .Warnf ("exception trying to parse Content-Range, will ignore,err=%s" , err )
7979 }
80- if len ( r ) == 1 && r [ 0 ]. Start == offset {
80+ if start == offset {
8181 return true
8282 }
8383 return false
0 commit comments