From 22138ca182d850ade83f7698a082c8c0146abb39 Mon Sep 17 00:00:00 2001 From: qydysky Date: Mon, 25 Dec 2023 01:50:06 +0800 Subject: [PATCH] =?utf8?q?Fix=20=20flv=E6=A0=BC=E5=BC=8F=E5=9B=9E=E6=94=BE?= =?utf8?q?=E4=B8=AD=E6=96=AD=20#95?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Reply/F.go | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/Reply/F.go b/Reply/F.go index 6f25250..48f9653 100644 --- a/Reply/F.go +++ b/Reply/F.go @@ -1440,22 +1440,22 @@ func init() { // 读取区间 var rangeHeaderNum int - // if rangeHeader := r.Header.Get(`range`); rangeHeader != "" { - // var e error - // if strings.Index(rangeHeader, "bytes=") != 0 { - // w.WriteHeader(http.StatusRequestedRangeNotSatisfiable) - // flog.L(`W: `, `请求的范围不合法:仅支持bytes`) - // return - // } else if strings.Contains(rangeHeader, ",") && strings.Index(rangeHeader, "-") != len(rangeHeader)-1 { - // w.WriteHeader(http.StatusRequestedRangeNotSatisfiable) - // flog.L(`W: `, `请求的范围不合法:仅支持向后范围`) - // return - // } else if rangeHeaderNum, e = strconv.Atoi(string(rangeHeader[6 : len(rangeHeader)-1])); e != nil { - // w.WriteHeader(http.StatusRequestedRangeNotSatisfiable) - // flog.L(`W: `, `请求的范围不合法:`, e) - // return - // } - // } + if rangeHeader := r.Header.Get(`range`); rangeHeader != "" { + var e error + if strings.Index(rangeHeader, "bytes=") != 0 { + w.WriteHeader(http.StatusRequestedRangeNotSatisfiable) + flog.L(`W: `, `请求的范围不合法:仅支持bytes`) + return + } else if strings.Contains(rangeHeader, ",") && strings.Index(rangeHeader, "-") != len(rangeHeader)-1 { + w.WriteHeader(http.StatusRequestedRangeNotSatisfiable) + flog.L(`W: `, `请求的范围不合法:仅支持向后范围`) + return + } else if rangeHeaderNum, e = strconv.Atoi(string(rangeHeader[6 : len(rangeHeader)-1])); e != nil { + w.WriteHeader(http.StatusRequestedRangeNotSatisfiable) + flog.L(`W: `, `请求的范围不合法:`, e) + return + } + } // 直播流回放速率 var speed, _ = humanize.ParseBytes("1 M") -- 2.39.2