funnel_http 0.5.14 → 0.5.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f420aa8d07b1377acf3f6044635855c77e2e621a877e293ea38ead1cd758f81e
4
- data.tar.gz: b80faa1e6dc9315968ab3ecb3a6dd0ae3697cdf285f56e079ef587711f390300
3
+ metadata.gz: fa491836fc6faac0e3667b415e1703439d2a7e74eab270ac666cbec2f6265906
4
+ data.tar.gz: 6c1ad2dd7405f9c78f4b24f978fe051bf591d660c3a6c88b2ab8a07843360793
5
5
  SHA512:
6
- metadata.gz: 7f8f2ebeee5e4490de289cad114f6b0d710614bb0c0542d44aaf7d6f685b24135e42e21ad1a3b72bcde466d128f73a3b5d148bec754d06892b9c4d2ae3ca33c8
7
- data.tar.gz: 005ed60afef68d5ed6fb9fc8d5e89d482aca67e4510c266f1fd25619a4c687d5f95110ce1ba56b0098719724b090652c5e94be367ec090c56b622a3da4132c4e
6
+ metadata.gz: bcaefe751119a9a37f1083f036eac64fd311583f602b62605ab353eba44a9635177c3e253b7137eec2d5291f96d4819037338b6b1eb97de4c3b73ae9886db8ae
7
+ data.tar.gz: 710835931238fd69c1aad03a7050496061fb96171163948e14173071f5b95760d84d351a5225f75bef68ce4b93f5d6c260d987478aee64db6fd7b05d07c8ef69
data/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  ## [Unreleased]
2
- [full changelog](http://github.com/sue445/funnel_http/compare/v0.5.14...main)
2
+ [full changelog](http://github.com/sue445/funnel_http/compare/v0.5.16...main)
3
+
4
+ ## [0.5.16](https://github.com/sue445/funnel_http/releases/tag/v0.5.16) - 2026-10-09
5
+ [full changelog](http://github.com/sue445/funnel_http/compare/v0.5.15...v0.5.16)
6
+
7
+ * [CVE-2026-94439][CVE-2026-94440][CVE-2026-97031] Require Go 1.26.9
8
+ * https://github.com/sue445/funnel_http/pull/219
9
+ * Update Go dependencies
10
+
11
+ ## [0.5.15](https://github.com/sue445/funnel_http/releases/tag/v0.5.15) - 2026-09-12
12
+ [full changelog](http://github.com/sue445/funnel_http/compare/v0.5.14...v0.5.15)
13
+
14
+ * Fix SEGV
15
+ * https://github.com/sue445/funnel_http/pull/214
16
+ * Update Go dependencies
3
17
 
4
18
  ## [0.5.14](https://github.com/sue445/funnel_http/releases/tag/v0.5.14) - 2026-09-12
5
19
  [full changelog](http://github.com/sue445/funnel_http/compare/v0.5.13...v0.5.14)
@@ -38,9 +38,10 @@ func rb_funnel_http_run_requests(self C.VALUE, rbAry C.VALUE) C.VALUE {
38
38
  ruby.RbRaise(rb_cFunnelHttpError, "%s", err.Error())
39
39
  }
40
40
 
41
- var rbHashSlice []ruby.VALUE
42
- for _, response := range responses {
41
+ rbHashSlice := make([]ruby.VALUE, len(responses))
42
+ for i, response := range responses {
43
43
  rbHash := ruby.RbHashNew()
44
+ ruby.RbGcRegisterAddress(&rbHash)
44
45
 
45
46
  ruby.RbHashAset(rbHash, ruby.RbId2Sym(ruby.RbIntern("status_code")), ruby.INT2NUM(response.StatusCode))
46
47
  ruby.RbHashAset(rbHash, ruby.RbId2Sym(ruby.RbIntern("body")), ruby.String2Value(string(response.Body)))
@@ -48,33 +49,45 @@ func rb_funnel_http_run_requests(self C.VALUE, rbAry C.VALUE) C.VALUE {
48
49
 
49
50
  rbHashHeader := ruby.RbHashNew()
50
51
  ruby.RbGcRegisterAddress(&rbHashHeader)
51
- defer ruby.RbGcUnregisterAddress(&rbHashHeader)
52
52
 
53
53
  for key, values := range response.Header {
54
- var headerValues []ruby.VALUE
55
- for _, value := range values {
56
- v := ruby.String2Value(value)
57
- ruby.RbGcRegisterAddress(&v)
58
- defer ruby.RbGcUnregisterAddress(&v)
59
-
60
- headerValues = append(headerValues, v)
54
+ headerValues := make([]ruby.VALUE, len(values))
55
+ for j, value := range values {
56
+ headerValues[j] = ruby.String2Value(value)
57
+ ruby.RbGcRegisterAddress(&headerValues[j])
61
58
  }
59
+
62
60
  k := ruby.String2Value(key)
63
61
  ruby.RbGcRegisterAddress(&k)
64
- defer ruby.RbGcUnregisterAddress(&k)
65
62
 
66
63
  v := ruby.Slice2rbAry(headerValues)
67
64
  ruby.RbGcRegisterAddress(&v)
68
- defer ruby.RbGcUnregisterAddress(&v)
69
65
 
70
66
  ruby.RbHashAset(rbHashHeader, k, v)
67
+
68
+ ruby.RbGcUnregisterAddress(&v)
69
+ ruby.RbGcUnregisterAddress(&k)
70
+
71
+ for j := range headerValues {
72
+ ruby.RbGcUnregisterAddress(&headerValues[j])
73
+ }
71
74
  }
75
+
72
76
  ruby.RbHashAset(rbHash, ruby.RbId2Sym(ruby.RbIntern("header")), rbHashHeader)
77
+ ruby.RbGcUnregisterAddress(&rbHashHeader)
78
+
79
+ rbHashSlice[i] = rbHash
80
+ ruby.RbGcRegisterAddress(&rbHashSlice[i])
81
+ ruby.RbGcUnregisterAddress(&rbHash)
82
+ }
83
+
84
+ rbResponseAry := ruby.Slice2rbAry(rbHashSlice)
73
85
 
74
- rbHashSlice = append(rbHashSlice, rbHash)
86
+ for i := range rbHashSlice {
87
+ ruby.RbGcUnregisterAddress(&rbHashSlice[i])
75
88
  }
76
89
 
77
- return C.VALUE(ruby.Slice2rbAry(rbHashSlice))
90
+ return C.VALUE(rbResponseAry)
78
91
  }
79
92
 
80
93
  func getHttpClientFromInstanceVariable(self ruby.VALUE) http.Client {
@@ -92,8 +105,7 @@ func getHttpClientFromInstanceVariable(self ruby.VALUE) http.Client {
92
105
  data := ruby.GetGoStruct(obj)
93
106
 
94
107
  // Save FunnelHttp::Ext::GoData to instance variable of FunnelHttp::Ext::Client
95
- dataValue := (*ruby.VALUE)(data)
96
- ruby.RbIvarSet(self, id, *dataValue)
108
+ ruby.RbIvarSet(self, id, obj)
97
109
 
98
110
  return ((*goData)(data)).httpClient
99
111
  }
@@ -1,13 +1,13 @@
1
1
  module github.com/sue445/funnel_http
2
2
 
3
- go 1.26.6
3
+ go 1.26.9
4
4
 
5
5
  require (
6
6
  github.com/cockroachdb/errors v1.14.0
7
7
  github.com/jarcoal/httpmock v1.4.2
8
8
  github.com/ruby-go-gem/go-gem-wrapper v0.11.0
9
9
  github.com/stretchr/testify v1.12.1
10
- golang.org/x/sync v0.22.0
10
+ golang.org/x/sync v0.23.0
11
11
  )
12
12
 
13
13
  require (
@@ -54,8 +54,8 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY
54
54
  golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
55
55
  golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
56
56
  golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
57
- golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek=
58
- golang.org/x/sync v0.22.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0=
57
+ golang.org/x/sync v0.23.0 h1:KameEIfc1IkluZyXWLn39Wd4tURc6GbCiISGiZm2bQk=
58
+ golang.org/x/sync v0.23.0/go.mod h1:sUUOizhqBxiL6pEWpqNLUiaJn1ShEbZ6BBqskPbjZm0=
59
59
  golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
60
60
  golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
61
61
  golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FunnelHttp
4
- VERSION = "0.5.14"
4
+ VERSION = "0.5.16"
5
5
  end
@@ -10,7 +10,7 @@ gems:
10
10
  source:
11
11
  type: git
12
12
  name: ruby/gem_rbs_collection
13
- revision: fab0baffe7dc4c7306137372fe9f0e2a53c14e12
13
+ revision: 2d0f5aed046c0822b3a0c163967b79fb5116b194
14
14
  remote: https://github.com/ruby/gem_rbs_collection.git
15
15
  repo_dir: gems
16
16
  - name: delegate
@@ -22,7 +22,7 @@ gems:
22
22
  source:
23
23
  type: git
24
24
  name: ruby/gem_rbs_collection
25
- revision: fab0baffe7dc4c7306137372fe9f0e2a53c14e12
25
+ revision: 2d0f5aed046c0822b3a0c163967b79fb5116b194
26
26
  remote: https://github.com/ruby/gem_rbs_collection.git
27
27
  repo_dir: gems
28
28
  - name: fileutils
@@ -38,7 +38,7 @@ gems:
38
38
  source:
39
39
  type: git
40
40
  name: ruby/gem_rbs_collection
41
- revision: fab0baffe7dc4c7306137372fe9f0e2a53c14e12
41
+ revision: 2d0f5aed046c0822b3a0c163967b79fb5116b194
42
42
  remote: https://github.com/ruby/gem_rbs_collection.git
43
43
  repo_dir: gems
44
44
  - name: monitor
@@ -62,7 +62,7 @@ gems:
62
62
  source:
63
63
  type: git
64
64
  name: ruby/gem_rbs_collection
65
- revision: fab0baffe7dc4c7306137372fe9f0e2a53c14e12
65
+ revision: 2d0f5aed046c0822b3a0c163967b79fb5116b194
66
66
  remote: https://github.com/ruby/gem_rbs_collection.git
67
67
  repo_dir: gems
68
68
  - name: rake
@@ -70,7 +70,7 @@ gems:
70
70
  source:
71
71
  type: git
72
72
  name: ruby/gem_rbs_collection
73
- revision: fab0baffe7dc4c7306137372fe9f0e2a53c14e12
73
+ revision: 2d0f5aed046c0822b3a0c163967b79fb5116b194
74
74
  remote: https://github.com/ruby/gem_rbs_collection.git
75
75
  repo_dir: gems
76
76
  - name: rdoc
@@ -82,7 +82,7 @@ gems:
82
82
  source:
83
83
  type: git
84
84
  name: ruby/gem_rbs_collection
85
- revision: fab0baffe7dc4c7306137372fe9f0e2a53c14e12
85
+ revision: 2d0f5aed046c0822b3a0c163967b79fb5116b194
86
86
  remote: https://github.com/ruby/gem_rbs_collection.git
87
87
  repo_dir: gems
88
88
  - name: stringio
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: funnel_http
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.14
4
+ version: 0.5.16
5
5
  platform: ruby
6
6
  authors:
7
7
  - sue445
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-09-12 00:00:00.000000000 Z
11
+ date: 2026-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: go_gem