]> 127.0.0.1 Git - bili_danmu/.git/commitdiff
Fix keepAlive总是403 (#114)
authorqydysky <qydysky@foxmail.com>
Sat, 2 Mar 2024 09:27:41 +0000 (17:27 +0800)
committerGitHub <noreply@github.com>
Sat, 2 Mar 2024 09:27:41 +0000 (17:27 +0800)
Reply/F.go
go.mod
go.sum

index c42e369dd2acbacc42887aae9157b198f0d86da4..8bca353876636cebcb46574f8b0df24e2afa562a 100644 (file)
@@ -1351,16 +1351,16 @@ func init() {
                })
 
                // 对于经过代理层,有可能浏览器标签页已经关闭,但代理层不关闭连接,导致连接不能释放
-               var expirer = &pweb.Exprier{}
+               var expirer = pweb.NewExprier(0)
                if v, ok := c.C.K_v.LoadV(`直播流回放连接检查`).(float64); ok && v > 0 {
-                       expirer.Max = int(v)
+                       expirer.SetMax(int(v))
                }
 
                c.C.SerF.Store(path+"keepAlive", func(w http.ResponseWriter, r *http.Request) {
                        if c.DefaultHttpCheck(c.C, w, r, http.MethodGet) {
                                return
                        }
-                       if key, e := expirer.Reg(r.URL.Query().Get("key"), time.Second*30); e != nil {
+                       if key, e := expirer.Reg(time.Second*30, r.URL.Query().Get("key")); e != nil {
                                w.WriteHeader(http.StatusForbidden)
                        } else {
                                _, _ = w.Write([]byte(key))
@@ -1379,14 +1379,12 @@ func init() {
                                return
                        }
 
-                       done, e := expirer.LoopCheck(r.URL.Query().Get("key"), time.Second*30, func(key string, e error) {
+                       if e := expirer.LoopCheck(r.Context(), r.URL.Query().Get("key"), func(key string, e error) {
                                _ = c.C.SerF.GetConn(r).Close()
-                       })
-                       if e != nil {
+                       }); e != nil {
                                w.WriteHeader(http.StatusTooManyRequests)
                                return
                        }
-                       defer done()
 
                        //header
                        w.Header().Set("Access-Control-Allow-Credentials", "true")
diff --git a/go.mod b/go.mod
index 7fda64fc3bfea058b857ee05f04401f2762f191f..0704c615a040bd6130ab470bc08119fa0d7e367d 100644 (file)
--- a/go.mod
+++ b/go.mod
@@ -5,7 +5,7 @@ go 1.22
 require (
        github.com/gotk3/gotk3 v0.6.3
        github.com/mdp/qrterminal/v3 v3.2.0
-       github.com/qydysky/part v0.28.20240301041710
+       github.com/qydysky/part v0.28.20240302090836
        github.com/skip2/go-qrcode v0.0.0-20200617195104-da1b6568686e
        github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966
        golang.org/x/text v0.14.0
@@ -13,7 +13,7 @@ require (
 
 require (
        github.com/google/uuid v1.6.0
-       golang.org/x/exp v0.0.0-20240213143201-ec583247a57a
+       golang.org/x/exp v0.0.0-20240222234643-814bf88cf225
 )
 
 require (
@@ -37,7 +37,7 @@ require (
        github.com/go-ole/go-ole v1.3.0 // indirect
        github.com/go-sql-driver/mysql v1.7.1
        github.com/gorilla/websocket v1.5.1 // indirect
-       github.com/klauspost/compress v1.17.6 // indirect
+       github.com/klauspost/compress v1.17.7 // indirect
        github.com/lib/pq v1.10.9
        github.com/miekg/dns v1.1.58 // indirect
        github.com/shirou/gopsutil v3.21.11+incompatible // indirect
@@ -50,7 +50,7 @@ require (
        golang.org/x/sys v0.17.0 // indirect
        golang.org/x/tools v0.18.0 // indirect
        gopkg.in/yaml.v3 v3.0.1 // indirect
-       modernc.org/sqlite v1.29.1
+       modernc.org/sqlite v1.29.2
        rsc.io/qr v0.2.0 // indirect
 )
 
diff --git a/go.sum b/go.sum
index 6b9a4775ff6911655f6385107b137ac92146630a..c006f5ea588d3f3bbf5b7ff56493fd2b79c13cb5 100644 (file)
--- a/go.sum
+++ b/go.sum
@@ -19,8 +19,8 @@ github.com/gotk3/gotk3 v0.6.3 h1:+Ke4WkM1TQUNOlM2TZH6szqknqo+zNbX3BZWVXjSHYw=
 github.com/gotk3/gotk3 v0.6.3/go.mod h1:/hqFpkNa9T3JgNAE2fLvCdov7c5bw//FHNZrZ3Uv9/Q=
 github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k=
 github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM=
-github.com/klauspost/compress v1.17.6 h1:60eq2E/jlfwQXtvZEeBUYADs+BwKBWURIY+Gj2eRGjI=
-github.com/klauspost/compress v1.17.6/go.mod h1:/dCuZOvVtNoHsyb+cuJD3itjs3NbnF6KH9zAO4BDxPM=
+github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg=
+github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw=
 github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
 github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
 github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
@@ -35,8 +35,8 @@ github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdh
 github.com/ncruces/go-strftime v0.1.9/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/qydysky/part v0.28.20240301041710 h1:q5MaF2ekTM1S/gJyf+UR1eRBalXIMx0cdcIYZWkRQYc=
-github.com/qydysky/part v0.28.20240301041710/go.mod h1:8Y4MrasGC0BLEM71QY/MuP2jl+v5b0Y+rqox3qJu97c=
+github.com/qydysky/part v0.28.20240302090836 h1:Z3qtijVWhXNEqR/eNneO34MutJuqJjo92AJb36ir1aI=
+github.com/qydysky/part v0.28.20240302090836/go.mod h1:8Y4MrasGC0BLEM71QY/MuP2jl+v5b0Y+rqox3qJu97c=
 github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94icq4NjY3clb7Lk8O1qJ8BdBEF8z0ibU0rE=
 github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
 github.com/shirou/gopsutil v3.21.11+incompatible h1:+1+c1VGhc88SSonWP6foOcLhvnKlUeu/erjjvaPEYiI=
@@ -55,8 +55,8 @@ github.com/tklauser/numcpus v0.7.0 h1:yjuerZP127QG9m5Zh/mSO4wqurYil27tHrqwRoRjpr
 github.com/tklauser/numcpus v0.7.0/go.mod h1:bb6dMVcj8A42tSE7i32fsIUCbQNllK5iDguyOZRUzAY=
 github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0=
 github.com/yusufpapurcu/wmi v1.2.4/go.mod h1:SBZ9tNy3G9/m5Oi98Zks0QjeHVDvuK0qfxQmPyzfmi0=
-golang.org/x/exp v0.0.0-20240213143201-ec583247a57a h1:HinSgX1tJRX3KsL//Gxynpw5CTOAIPhgL4W8PNiIpVE=
-golang.org/x/exp v0.0.0-20240213143201-ec583247a57a/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc=
+golang.org/x/exp v0.0.0-20240222234643-814bf88cf225 h1:LfspQV/FYTatPTr/3HzIcmiUFH7PGP+OQ6mgDYo3yuQ=
+golang.org/x/exp v0.0.0-20240222234643-814bf88cf225/go.mod h1:CxmFvTBINI24O/j8iY7H1xHzx2i4OsyguNBmN/uPtqc=
 golang.org/x/mod v0.15.0 h1:SernR4v+D55NyBH2QiEQrlBAnj1ECL6AGrA5+dPaMY8=
 golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
 golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4=
@@ -85,8 +85,8 @@ modernc.org/mathutil v1.6.0 h1:fRe9+AmYlaej+64JsEEhoWuAYBkOtQiMEU7n/XgfYi4=
 modernc.org/mathutil v1.6.0/go.mod h1:Ui5Q9q1TR2gFm0AQRqQUaBWFLAhQpCwNcuhBOSedWPo=
 modernc.org/memory v1.7.2 h1:Klh90S215mmH8c9gO98QxQFsY+W451E8AnzjoE2ee1E=
 modernc.org/memory v1.7.2/go.mod h1:NO4NVCQy0N7ln+T9ngWqOQfi7ley4vpwvARR+Hjw95E=
-modernc.org/sqlite v1.29.1 h1:19GY2qvWB4VPw0HppFlZCPAbmxFU41r+qjKZQdQ1ryA=
-modernc.org/sqlite v1.29.1/go.mod h1:hG41jCYxOAOoO6BRK66AdRlmOcDzXf7qnwlwjUIOqa0=
+modernc.org/sqlite v1.29.2 h1:xgBSyA3gemwgP31PWFfFjtBorQNYpeypGdoSDjXhrgI=
+modernc.org/sqlite v1.29.2/go.mod h1:hG41jCYxOAOoO6BRK66AdRlmOcDzXf7qnwlwjUIOqa0=
 modernc.org/strutil v1.2.0 h1:agBi9dp1I+eOnxXeiZawM8F4LawKv4NzGWSaLfyeNZA=
 modernc.org/strutil v1.2.0/go.mod h1:/mdcBmfOibveCTBxUl5B5l6W+TTH1FXPLHZE6bTosX0=
 modernc.org/token v1.1.0 h1:Xl7Ap9dKaEs5kLoOQeQmPWevfnk/DM5qcLcYlA8ys6Y=