funnel_http 0.5.13 → 0.5.15

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: 9bae65ee083ec0a7903425e017f3d315f284ecc1f70d7366d0dca6ed0bf4ecc3
4
- data.tar.gz: 1004f001c444d3d7195f7b2ea8adebc01bd17451c7f414ab4fc2746b75af3130
3
+ metadata.gz: df00f14e6751da1f0fe37842b544e49176a90af2f006cdd64e84c3bd9d1cfed4
4
+ data.tar.gz: 359f884cd8adebad4951d9637df6224ffbc568d19185a60a316ecdc3303c20a2
5
5
  SHA512:
6
- metadata.gz: ad026c4604af3207def0fc5ea307eb3299eae57cdfcc7bbb07e998708dce9922f713f1e77c379c8e3db8e9d389b8ab76f1acfe4fcf3378de5d8b0f3326af0b5c
7
- data.tar.gz: 45fec5be44f44eb80401f5b00ddec8b1661c73d36dc521b0a0b268fadd3af8e1f3883f16fce23e2fb21b74a118be4ca0060640132b1a80d335d337c8d5355229
6
+ metadata.gz: aa86b0f85dc8f8299833e38de624a2f75a3c356e1ad952f4adc8d7d5f6d6c4a2c70ba9a33fd3b3b290bff6d4aec243ad5bf67a6dc92e26b76be0ddc0b6e71edd
7
+ data.tar.gz: 546d32453819bf0d834cf12d7d2c4b1bd46279fac0daedd6965861f85e9c83466f60fad39f96e5c0587cb65afb753972221ef8bff5fc464767e557d9f79a9d03
data/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  ## [Unreleased]
2
- [full changelog](http://github.com/sue445/funnel_http/compare/v0.5.13...main)
2
+ [full changelog](http://github.com/sue445/funnel_http/compare/v0.5.15...main)
3
+
4
+ ## [0.5.15](https://github.com/sue445/funnel_http/releases/tag/v0.5.15) - 2026-09-12
5
+ [full changelog](http://github.com/sue445/funnel_http/compare/v0.5.14...v0.5.15)
6
+
7
+ * Fix SEGV
8
+ * https://github.com/sue445/funnel_http/pull/214
9
+ * Update Go dependencies
10
+
11
+ ## [0.5.14](https://github.com/sue445/funnel_http/releases/tag/v0.5.14) - 2026-09-12
12
+ [full changelog](http://github.com/sue445/funnel_http/compare/v0.5.13...v0.5.14)
13
+
14
+ * [CVE-2026-56862] Requires Go 1.26.6+
15
+ * https://github.com/sue445/funnel_http/pull/211
16
+ * Update Go dependencies
3
17
 
4
18
  ## [0.5.13](https://github.com/sue445/funnel_http/releases/tag/v0.5.13) - 2026-08-23
5
19
  [full changelog](http://github.com/sue445/funnel_http/compare/v0.5.12...v0.5.13)
@@ -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.25.13
3
+ go 1.26.6
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
- github.com/stretchr/testify v1.12.0
10
- golang.org/x/sync v0.22.0
9
+ github.com/stretchr/testify v1.12.1
10
+ golang.org/x/sync v0.23.0
11
11
  )
12
12
 
13
13
  require (
@@ -19,7 +19,7 @@ require (
19
19
  github.com/kr/text v0.2.0 // indirect
20
20
  github.com/pkg/errors v0.9.1 // indirect
21
21
  github.com/rogpeppe/go-internal v1.9.0 // indirect
22
+ go.yaml.in/yaml/v3 v3.0.5 // indirect
22
23
  golang.org/x/sys v0.39.0 // indirect
23
24
  golang.org/x/text v0.32.0 // indirect
24
- gopkg.in/yaml.v3 v3.0.1 // indirect
25
25
  )
@@ -34,12 +34,14 @@ github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZV
34
34
  github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
35
35
  github.com/ruby-go-gem/go-gem-wrapper v0.11.0 h1:n3GXZUm3ZJvjTEB3A3qySeJyMJYHRPeNYo3FyxKZVek=
36
36
  github.com/ruby-go-gem/go-gem-wrapper v0.11.0/go.mod h1:kD/v4YP0nCzAKo5RpMvZki8f8xTi1VKqGiuA+DTXHBM=
37
- github.com/stretchr/testify v1.12.0 h1:K6Mr6jO9JICuend/5xzTM03ydSV3vdNRYAdPSukj8uI=
38
- github.com/stretchr/testify v1.12.0/go.mod h1:bOYBZb5qJ00vPzWfIqBUZPaxK8jWiXc6d3ErP4Ca9Gw=
37
+ github.com/stretchr/testify v1.12.1 h1:EuwCh5fleGS7H32xRwO3wRGT7DxrDhLAT6FF8MpWDWE=
38
+ github.com/stretchr/testify v1.12.1/go.mod h1:MDEgiDPPsNp5cuIrHPPCyornHKgEVbtFUmoNlxoYthg=
39
39
  github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
40
40
  github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
41
41
  go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
42
42
  go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE=
43
+ go.yaml.in/yaml/v3 v3.0.5 h1:N6y/pJk8buWs9NY5ERU2HSMfm+IuD/OtfdAnq6kESPw=
44
+ go.yaml.in/yaml/v3 v3.0.5/go.mod h1:HVTZu1O7/Vkt2N+BFy8Zza+lnLsABggaTM2ZpNIGuKg=
43
45
  golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
44
46
  golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
45
47
  golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
@@ -52,8 +54,8 @@ golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwY
52
54
  golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
53
55
  golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
54
56
  golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
55
- golang.org/x/sync v0.22.0 h1:SZjpbeLmrCk4xhRSZFNZW5gFUeCeFgjekvI/+gfScek=
56
- 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=
57
59
  golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
58
60
  golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
59
61
  golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -71,8 +73,3 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T
71
73
  golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
72
74
  golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
73
75
  golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
74
- gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
75
- gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
76
- gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
77
- gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
78
- gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module FunnelHttp
4
- VERSION = "0.5.13"
4
+ VERSION = "0.5.15"
5
5
  end
@@ -10,7 +10,7 @@ gems:
10
10
  source:
11
11
  type: git
12
12
  name: ruby/gem_rbs_collection
13
- revision: bc8394e60b1d20e2332104e60b64b283d025be57
13
+ revision: fab0baffe7dc4c7306137372fe9f0e2a53c14e12
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: bc8394e60b1d20e2332104e60b64b283d025be57
25
+ revision: fab0baffe7dc4c7306137372fe9f0e2a53c14e12
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: bc8394e60b1d20e2332104e60b64b283d025be57
41
+ revision: fab0baffe7dc4c7306137372fe9f0e2a53c14e12
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: bc8394e60b1d20e2332104e60b64b283d025be57
65
+ revision: fab0baffe7dc4c7306137372fe9f0e2a53c14e12
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: bc8394e60b1d20e2332104e60b64b283d025be57
73
+ revision: fab0baffe7dc4c7306137372fe9f0e2a53c14e12
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: bc8394e60b1d20e2332104e60b64b283d025be57
85
+ revision: fab0baffe7dc4c7306137372fe9f0e2a53c14e12
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.13
4
+ version: 0.5.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - sue445
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-08-23 00:00:00.000000000 Z
11
+ date: 2026-09-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: go_gem