thrift 0.22.0 → 0.23.0

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.
Files changed (112) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +175 -17
  3. data/benchmark/benchmark.rb +22 -8
  4. data/benchmark/client.rb +49 -6
  5. data/benchmark/server.rb +45 -7
  6. data/benchmark/thin_server.rb +1 -0
  7. data/ext/binary_protocol_accelerated.c +76 -19
  8. data/ext/compact_protocol.c +80 -15
  9. data/ext/constants.h +12 -0
  10. data/ext/extconf.rb +10 -9
  11. data/ext/memory_buffer.c +7 -7
  12. data/ext/protocol.c +29 -0
  13. data/ext/protocol.h +35 -0
  14. data/ext/struct.c +36 -5
  15. data/ext/thrift_native.c +27 -3
  16. data/lib/thrift/bytes.rb +68 -101
  17. data/lib/thrift/client.rb +61 -9
  18. data/lib/thrift/exceptions.rb +5 -5
  19. data/lib/thrift/multiplexed_processor.rb +6 -6
  20. data/lib/thrift/processor.rb +6 -6
  21. data/lib/thrift/protocol/base_protocol.rb +37 -15
  22. data/lib/thrift/protocol/binary_protocol.rb +25 -9
  23. data/lib/thrift/protocol/binary_protocol_accelerated.rb +5 -5
  24. data/lib/thrift/protocol/compact_protocol.rb +61 -37
  25. data/lib/thrift/protocol/header_protocol.rb +320 -0
  26. data/lib/thrift/protocol/json_protocol.rb +26 -16
  27. data/lib/thrift/protocol/multiplexed_protocol.rb +5 -5
  28. data/lib/thrift/protocol/protocol_decorator.rb +12 -4
  29. data/lib/thrift/serializer/deserializer.rb +5 -5
  30. data/lib/thrift/serializer/serializer.rb +4 -5
  31. data/lib/thrift/server/base_server.rb +4 -4
  32. data/lib/thrift/server/mongrel_http_server.rb +6 -6
  33. data/lib/thrift/server/nonblocking_server.rb +8 -8
  34. data/lib/thrift/server/simple_server.rb +4 -4
  35. data/lib/thrift/server/thin_http_server.rb +3 -3
  36. data/lib/thrift/server/thread_pool_server.rb +6 -6
  37. data/lib/thrift/server/threaded_server.rb +4 -4
  38. data/lib/thrift/struct.rb +11 -11
  39. data/lib/thrift/struct_union.rb +19 -9
  40. data/lib/thrift/thrift_native.rb +1 -1
  41. data/lib/thrift/transport/base_server_transport.rb +5 -5
  42. data/lib/thrift/transport/base_transport.rb +12 -12
  43. data/lib/thrift/transport/buffered_transport.rb +6 -6
  44. data/lib/thrift/transport/framed_transport.rb +7 -7
  45. data/lib/thrift/transport/header_transport.rb +516 -0
  46. data/lib/thrift/transport/http_client_transport.rb +1 -1
  47. data/lib/thrift/transport/io_stream_transport.rb +3 -3
  48. data/lib/thrift/transport/memory_buffer_transport.rb +6 -6
  49. data/lib/thrift/transport/server_socket.rb +8 -5
  50. data/lib/thrift/transport/socket.rb +58 -31
  51. data/lib/thrift/transport/ssl_server_socket.rb +1 -1
  52. data/lib/thrift/transport/ssl_socket.rb +2 -2
  53. data/lib/thrift/transport/unix_server_socket.rb +4 -4
  54. data/lib/thrift/transport/unix_socket.rb +6 -6
  55. data/lib/thrift/types.rb +9 -6
  56. data/lib/thrift/union.rb +14 -8
  57. data/lib/thrift/uuid.rb +49 -0
  58. data/lib/thrift.rb +3 -1
  59. data/spec/ThriftSpec.thrift +5 -1
  60. data/spec/base_protocol_spec.rb +1 -2
  61. data/spec/base_transport_spec.rb +6 -7
  62. data/spec/binary_protocol_spec.rb +0 -2
  63. data/spec/binary_protocol_spec_shared.rb +129 -142
  64. data/spec/bytes_spec.rb +57 -118
  65. data/spec/client_spec.rb +85 -19
  66. data/spec/compact_protocol_spec.rb +54 -16
  67. data/spec/constants_demo_spec.rb +101 -0
  68. data/spec/exception_spec.rb +0 -1
  69. data/spec/header_protocol_spec.rb +475 -0
  70. data/spec/header_transport_spec.rb +386 -0
  71. data/spec/http_client_spec.rb +4 -6
  72. data/spec/json_protocol_spec.rb +47 -47
  73. data/spec/namespaced_spec.rb +0 -1
  74. data/spec/nonblocking_server_spec.rb +102 -4
  75. data/spec/processor_spec.rb +0 -1
  76. data/spec/serializer_spec.rb +0 -1
  77. data/spec/server_socket_spec.rb +1 -1
  78. data/spec/server_spec.rb +8 -9
  79. data/spec/socket_spec.rb +0 -1
  80. data/spec/socket_spec_shared.rb +72 -9
  81. data/spec/spec_helper.rb +1 -1
  82. data/spec/ssl_server_socket_spec.rb +12 -1
  83. data/spec/ssl_socket_spec.rb +10 -1
  84. data/spec/struct_nested_containers_spec.rb +1 -2
  85. data/spec/struct_spec.rb +113 -9
  86. data/spec/support/header_protocol_helper.rb +54 -0
  87. data/spec/thin_http_server_spec.rb +3 -18
  88. data/spec/types_spec.rb +25 -26
  89. data/spec/union_spec.rb +69 -11
  90. data/spec/unix_socket_spec.rb +1 -2
  91. data/spec/uuid_validation_spec.rb +238 -0
  92. data/test/fuzz/Makefile.am +173 -0
  93. data/test/fuzz/README.md +149 -0
  94. data/test/fuzz/fuzz_common.rb +95 -0
  95. data/{lib/thrift/core_ext.rb → test/fuzz/fuzz_parse_binary_protocol.rb} +3 -4
  96. data/{lib/thrift/core_ext/fixnum.rb → test/fuzz/fuzz_parse_binary_protocol_accelerated.rb} +6 -13
  97. data/test/fuzz/fuzz_parse_binary_protocol_accelerated_harness.rb +22 -0
  98. data/test/fuzz/fuzz_parse_binary_protocol_harness.rb +22 -0
  99. data/test/fuzz/fuzz_parse_compact_protocol.rb +22 -0
  100. data/test/fuzz/fuzz_parse_compact_protocol_harness.rb +22 -0
  101. data/test/fuzz/fuzz_parse_json_protocol.rb +22 -0
  102. data/test/fuzz/fuzz_parse_json_protocol_harness.rb +22 -0
  103. data/test/fuzz/fuzz_roundtrip_binary_protocol.rb +22 -0
  104. data/test/fuzz/fuzz_roundtrip_binary_protocol_accelerated.rb +22 -0
  105. data/test/fuzz/fuzz_roundtrip_binary_protocol_accelerated_harness.rb +22 -0
  106. data/test/fuzz/fuzz_roundtrip_binary_protocol_harness.rb +22 -0
  107. data/test/fuzz/fuzz_roundtrip_compact_protocol.rb +22 -0
  108. data/test/fuzz/fuzz_roundtrip_compact_protocol_harness.rb +22 -0
  109. data/test/fuzz/fuzz_roundtrip_json_protocol.rb +22 -0
  110. data/test/fuzz/fuzz_roundtrip_json_protocol_harness.rb +22 -0
  111. data/test/fuzz/fuzz_tracer.rb +28 -0
  112. metadata +106 -37
@@ -0,0 +1,22 @@
1
+ #
2
+ # Licensed to the Apache Software Foundation (ASF) under one
3
+ # or more contributor license agreements. See the NOTICE file
4
+ # distributed with this work for additional information
5
+ # regarding copyright ownership. The ASF licenses this file
6
+ # to you under the Apache License, Version 2.0 (the
7
+ # "License"); you may not use this file except in compliance
8
+ # with the License. You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing,
13
+ # software distributed under the License is distributed on an
14
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ # KIND, either express or implied. See the License for the
16
+ # specific language governing permissions and limitations
17
+ # under the License.
18
+ #
19
+
20
+ require_relative 'fuzz_common'
21
+
22
+ Ruzzy.fuzz(create_roundtrip_fuzzer(Thrift::BinaryProtocolFactory))
@@ -0,0 +1,22 @@
1
+ #
2
+ # Licensed to the Apache Software Foundation (ASF) under one
3
+ # or more contributor license agreements. See the NOTICE file
4
+ # distributed with this work for additional information
5
+ # regarding copyright ownership. The ASF licenses this file
6
+ # to you under the Apache License, Version 2.0 (the
7
+ # "License"); you may not use this file except in compliance
8
+ # with the License. You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing,
13
+ # software distributed under the License is distributed on an
14
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ # KIND, either express or implied. See the License for the
16
+ # specific language governing permissions and limitations
17
+ # under the License.
18
+ #
19
+
20
+ require_relative 'fuzz_tracer'
21
+
22
+ trace_fuzz_target(__FILE__)
@@ -0,0 +1,22 @@
1
+ #
2
+ # Licensed to the Apache Software Foundation (ASF) under one
3
+ # or more contributor license agreements. See the NOTICE file
4
+ # distributed with this work for additional information
5
+ # regarding copyright ownership. The ASF licenses this file
6
+ # to you under the Apache License, Version 2.0 (the
7
+ # "License"); you may not use this file except in compliance
8
+ # with the License. You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing,
13
+ # software distributed under the License is distributed on an
14
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ # KIND, either express or implied. See the License for the
16
+ # specific language governing permissions and limitations
17
+ # under the License.
18
+ #
19
+
20
+ require_relative 'fuzz_common'
21
+
22
+ Ruzzy.fuzz(create_roundtrip_fuzzer(Thrift::CompactProtocolFactory))
@@ -0,0 +1,22 @@
1
+ #
2
+ # Licensed to the Apache Software Foundation (ASF) under one
3
+ # or more contributor license agreements. See the NOTICE file
4
+ # distributed with this work for additional information
5
+ # regarding copyright ownership. The ASF licenses this file
6
+ # to you under the Apache License, Version 2.0 (the
7
+ # "License"); you may not use this file except in compliance
8
+ # with the License. You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing,
13
+ # software distributed under the License is distributed on an
14
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ # KIND, either express or implied. See the License for the
16
+ # specific language governing permissions and limitations
17
+ # under the License.
18
+ #
19
+
20
+ require_relative 'fuzz_tracer'
21
+
22
+ trace_fuzz_target(__FILE__)
@@ -0,0 +1,22 @@
1
+ #
2
+ # Licensed to the Apache Software Foundation (ASF) under one
3
+ # or more contributor license agreements. See the NOTICE file
4
+ # distributed with this work for additional information
5
+ # regarding copyright ownership. The ASF licenses this file
6
+ # to you under the Apache License, Version 2.0 (the
7
+ # "License"); you may not use this file except in compliance
8
+ # with the License. You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing,
13
+ # software distributed under the License is distributed on an
14
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ # KIND, either express or implied. See the License for the
16
+ # specific language governing permissions and limitations
17
+ # under the License.
18
+ #
19
+
20
+ require_relative 'fuzz_common'
21
+
22
+ Ruzzy.fuzz(create_roundtrip_fuzzer(Thrift::JsonProtocolFactory, read_message_begin: true))
@@ -0,0 +1,28 @@
1
+ #
2
+ # Licensed to the Apache Software Foundation (ASF) under one
3
+ # or more contributor license agreements. See the NOTICE file
4
+ # distributed with this work for additional information
5
+ # regarding copyright ownership. The ASF licenses this file
6
+ # to you under the Apache License, Version 2.0 (the
7
+ # "License"); you may not use this file except in compliance
8
+ # with the License. You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing,
13
+ # software distributed under the License is distributed on an
14
+ # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15
+ # KIND, either express or implied. See the License for the
16
+ # specific language governing permissions and limitations
17
+ # under the License.
18
+ #
19
+
20
+ require 'ruzzy'
21
+
22
+ def trace_fuzz_target(script_path)
23
+ harness_path = File.expand_path(
24
+ "#{File.basename(script_path, '.rb')}_harness.rb",
25
+ File.dirname(script_path)
26
+ )
27
+ Ruzzy.trace(harness_path)
28
+ end
metadata CHANGED
@@ -1,29 +1,42 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thrift
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.22.0
4
+ version: 0.23.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Apache Thrift Developers
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2025-05-23 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
- name: bundler
13
+ name: logger
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: '1.11'
20
- type: :development
18
+ version: '0'
19
+ type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - ">="
25
24
  - !ruby/object:Gem::Version
26
- version: '1.11'
25
+ version: '0'
26
+ - !ruby/object:Gem::Dependency
27
+ name: bundler
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: 2.2.34
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: 2.2.34
27
40
  - !ruby/object:Gem::Dependency
28
41
  name: pry
29
42
  requirement: !ruby/object:Gem::Requirement
@@ -70,16 +83,16 @@ dependencies:
70
83
  name: rack
71
84
  requirement: !ruby/object:Gem::Requirement
72
85
  requirements:
73
- - - '='
86
+ - - ">="
74
87
  - !ruby/object:Gem::Version
75
- version: 2.2.6.4
88
+ version: 2.2.23
76
89
  type: :development
77
90
  prerelease: false
78
91
  version_requirements: !ruby/object:Gem::Requirement
79
92
  requirements:
80
- - - '='
93
+ - - ">="
81
94
  - !ruby/object:Gem::Version
82
- version: 2.2.6.4
95
+ version: 2.2.23
83
96
  - !ruby/object:Gem::Dependency
84
97
  name: rack-test
85
98
  requirement: !ruby/object:Gem::Requirement
@@ -100,14 +113,14 @@ dependencies:
100
113
  requirements:
101
114
  - - "~>"
102
115
  - !ruby/object:Gem::Version
103
- version: '12.3'
116
+ version: '13.3'
104
117
  type: :development
105
118
  prerelease: false
106
119
  version_requirements: !ruby/object:Gem::Requirement
107
120
  requirements:
108
121
  - - "~>"
109
122
  - !ruby/object:Gem::Version
110
- version: '12.3'
123
+ version: '13.3'
111
124
  - !ruby/object:Gem::Dependency
112
125
  name: rspec
113
126
  requirement: !ruby/object:Gem::Requirement
@@ -159,27 +172,26 @@ extensions:
159
172
  extra_rdoc_files:
160
173
  - README.md
161
174
  - ext/binary_protocol_accelerated.c
162
- - ext/bytes.c
163
- - ext/compact_protocol.c
164
- - ext/memory_buffer.c
165
- - ext/protocol.c
166
- - ext/strlcpy.c
167
- - ext/struct.c
168
- - ext/thrift_native.c
169
175
  - ext/binary_protocol_accelerated.h
176
+ - ext/bytes.c
170
177
  - ext/bytes.h
178
+ - ext/compact_protocol.c
171
179
  - ext/compact_protocol.h
172
180
  - ext/constants.h
181
+ - ext/extconf.rb
173
182
  - ext/macros.h
183
+ - ext/memory_buffer.c
174
184
  - ext/memory_buffer.h
185
+ - ext/protocol.c
175
186
  - ext/protocol.h
187
+ - ext/strlcpy.c
176
188
  - ext/strlcpy.h
189
+ - ext/struct.c
177
190
  - ext/struct.h
178
- - ext/extconf.rb
191
+ - ext/thrift_native.c
192
+ - lib/thrift.rb
179
193
  - lib/thrift/bytes.rb
180
194
  - lib/thrift/client.rb
181
- - lib/thrift/core_ext/fixnum.rb
182
- - lib/thrift/core_ext.rb
183
195
  - lib/thrift/exceptions.rb
184
196
  - lib/thrift/multiplexed_processor.rb
185
197
  - lib/thrift/processor.rb
@@ -187,6 +199,7 @@ extra_rdoc_files:
187
199
  - lib/thrift/protocol/binary_protocol.rb
188
200
  - lib/thrift/protocol/binary_protocol_accelerated.rb
189
201
  - lib/thrift/protocol/compact_protocol.rb
202
+ - lib/thrift/protocol/header_protocol.rb
190
203
  - lib/thrift/protocol/json_protocol.rb
191
204
  - lib/thrift/protocol/multiplexed_protocol.rb
192
205
  - lib/thrift/protocol/protocol_decorator.rb
@@ -206,6 +219,7 @@ extra_rdoc_files:
206
219
  - lib/thrift/transport/base_transport.rb
207
220
  - lib/thrift/transport/buffered_transport.rb
208
221
  - lib/thrift/transport/framed_transport.rb
222
+ - lib/thrift/transport/header_transport.rb
209
223
  - lib/thrift/transport/http_client_transport.rb
210
224
  - lib/thrift/transport/io_stream_transport.rb
211
225
  - lib/thrift/transport/memory_buffer_transport.rb
@@ -217,7 +231,7 @@ extra_rdoc_files:
217
231
  - lib/thrift/transport/unix_socket.rb
218
232
  - lib/thrift/types.rb
219
233
  - lib/thrift/union.rb
220
- - lib/thrift.rb
234
+ - lib/thrift/uuid.rb
221
235
  files:
222
236
  - README.md
223
237
  - benchmark/Benchmark.thrift
@@ -246,8 +260,6 @@ files:
246
260
  - lib/thrift.rb
247
261
  - lib/thrift/bytes.rb
248
262
  - lib/thrift/client.rb
249
- - lib/thrift/core_ext.rb
250
- - lib/thrift/core_ext/fixnum.rb
251
263
  - lib/thrift/exceptions.rb
252
264
  - lib/thrift/multiplexed_processor.rb
253
265
  - lib/thrift/processor.rb
@@ -255,6 +267,7 @@ files:
255
267
  - lib/thrift/protocol/binary_protocol.rb
256
268
  - lib/thrift/protocol/binary_protocol_accelerated.rb
257
269
  - lib/thrift/protocol/compact_protocol.rb
270
+ - lib/thrift/protocol/header_protocol.rb
258
271
  - lib/thrift/protocol/json_protocol.rb
259
272
  - lib/thrift/protocol/multiplexed_protocol.rb
260
273
  - lib/thrift/protocol/protocol_decorator.rb
@@ -274,6 +287,7 @@ files:
274
287
  - lib/thrift/transport/base_transport.rb
275
288
  - lib/thrift/transport/buffered_transport.rb
276
289
  - lib/thrift/transport/framed_transport.rb
290
+ - lib/thrift/transport/header_transport.rb
277
291
  - lib/thrift/transport/http_client_transport.rb
278
292
  - lib/thrift/transport/io_stream_transport.rb
279
293
  - lib/thrift/transport/memory_buffer_transport.rb
@@ -285,6 +299,7 @@ files:
285
299
  - lib/thrift/transport/unix_socket.rb
286
300
  - lib/thrift/types.rb
287
301
  - lib/thrift/union.rb
302
+ - lib/thrift/uuid.rb
288
303
  - spec/BaseService.thrift
289
304
  - spec/ExtendedService.thrift
290
305
  - spec/Referenced.thrift
@@ -298,8 +313,11 @@ files:
298
313
  - spec/bytes_spec.rb
299
314
  - spec/client_spec.rb
300
315
  - spec/compact_protocol_spec.rb
316
+ - spec/constants_demo_spec.rb
301
317
  - spec/exception_spec.rb
302
318
  - spec/flat_spec.rb
319
+ - spec/header_protocol_spec.rb
320
+ - spec/header_transport_spec.rb
303
321
  - spec/http_client_spec.rb
304
322
  - spec/json_protocol_spec.rb
305
323
  - spec/namespaced_spec.rb
@@ -315,15 +333,42 @@ files:
315
333
  - spec/ssl_socket_spec.rb
316
334
  - spec/struct_nested_containers_spec.rb
317
335
  - spec/struct_spec.rb
336
+ - spec/support/header_protocol_helper.rb
318
337
  - spec/thin_http_server_spec.rb
319
338
  - spec/types_spec.rb
320
339
  - spec/union_spec.rb
321
340
  - spec/unix_socket_spec.rb
322
- homepage: http://thrift.apache.org
341
+ - spec/uuid_validation_spec.rb
342
+ - test/fuzz/Makefile.am
343
+ - test/fuzz/README.md
344
+ - test/fuzz/fuzz_common.rb
345
+ - test/fuzz/fuzz_parse_binary_protocol.rb
346
+ - test/fuzz/fuzz_parse_binary_protocol_accelerated.rb
347
+ - test/fuzz/fuzz_parse_binary_protocol_accelerated_harness.rb
348
+ - test/fuzz/fuzz_parse_binary_protocol_harness.rb
349
+ - test/fuzz/fuzz_parse_compact_protocol.rb
350
+ - test/fuzz/fuzz_parse_compact_protocol_harness.rb
351
+ - test/fuzz/fuzz_parse_json_protocol.rb
352
+ - test/fuzz/fuzz_parse_json_protocol_harness.rb
353
+ - test/fuzz/fuzz_roundtrip_binary_protocol.rb
354
+ - test/fuzz/fuzz_roundtrip_binary_protocol_accelerated.rb
355
+ - test/fuzz/fuzz_roundtrip_binary_protocol_accelerated_harness.rb
356
+ - test/fuzz/fuzz_roundtrip_binary_protocol_harness.rb
357
+ - test/fuzz/fuzz_roundtrip_compact_protocol.rb
358
+ - test/fuzz/fuzz_roundtrip_compact_protocol_harness.rb
359
+ - test/fuzz/fuzz_roundtrip_json_protocol.rb
360
+ - test/fuzz/fuzz_roundtrip_json_protocol_harness.rb
361
+ - test/fuzz/fuzz_tracer.rb
362
+ homepage: https://thrift.apache.org
323
363
  licenses:
324
364
  - Apache-2.0
325
- metadata: {}
326
- post_install_message:
365
+ metadata:
366
+ bug_tracker_uri: https://issues.apache.org/jira/browse/THRIFT
367
+ changelog_uri: https://github.com/apache/thrift/blob/master/CHANGES.md
368
+ documentation_uri: https://thrift.apache.org/docs/
369
+ homepage_uri: https://thrift.apache.org
370
+ mailing_list_uri: https://thrift.apache.org/mailing
371
+ source_code_uri: https://github.com/apache/thrift/
327
372
  rdoc_options:
328
373
  - "--line-numbers"
329
374
  - "--inline-source"
@@ -338,18 +383,22 @@ required_ruby_version: !ruby/object:Gem::Requirement
338
383
  requirements:
339
384
  - - ">="
340
385
  - !ruby/object:Gem::Version
341
- version: '0'
386
+ version: 2.4.0
342
387
  required_rubygems_version: !ruby/object:Gem::Requirement
343
388
  requirements:
344
389
  - - ">="
345
390
  - !ruby/object:Gem::Version
346
391
  version: '0'
347
392
  requirements: []
348
- rubygems_version: 3.3.15
349
- signing_key:
393
+ rubygems_version: 3.6.7
350
394
  specification_version: 4
351
395
  summary: Ruby bindings for Apache Thrift
352
396
  test_files:
397
+ - benchmark/Benchmark.thrift
398
+ - benchmark/benchmark.rb
399
+ - benchmark/client.rb
400
+ - benchmark/server.rb
401
+ - benchmark/thin_server.rb
353
402
  - spec/BaseService.thrift
354
403
  - spec/ExtendedService.thrift
355
404
  - spec/Referenced.thrift
@@ -363,8 +412,11 @@ test_files:
363
412
  - spec/bytes_spec.rb
364
413
  - spec/client_spec.rb
365
414
  - spec/compact_protocol_spec.rb
415
+ - spec/constants_demo_spec.rb
366
416
  - spec/exception_spec.rb
367
417
  - spec/flat_spec.rb
418
+ - spec/header_protocol_spec.rb
419
+ - spec/header_transport_spec.rb
368
420
  - spec/http_client_spec.rb
369
421
  - spec/json_protocol_spec.rb
370
422
  - spec/namespaced_spec.rb
@@ -380,12 +432,29 @@ test_files:
380
432
  - spec/ssl_socket_spec.rb
381
433
  - spec/struct_nested_containers_spec.rb
382
434
  - spec/struct_spec.rb
435
+ - spec/support/header_protocol_helper.rb
383
436
  - spec/thin_http_server_spec.rb
384
437
  - spec/types_spec.rb
385
438
  - spec/union_spec.rb
386
439
  - spec/unix_socket_spec.rb
387
- - benchmark/Benchmark.thrift
388
- - benchmark/benchmark.rb
389
- - benchmark/client.rb
390
- - benchmark/server.rb
391
- - benchmark/thin_server.rb
440
+ - spec/uuid_validation_spec.rb
441
+ - test/fuzz/Makefile.am
442
+ - test/fuzz/README.md
443
+ - test/fuzz/fuzz_common.rb
444
+ - test/fuzz/fuzz_parse_binary_protocol.rb
445
+ - test/fuzz/fuzz_parse_binary_protocol_accelerated.rb
446
+ - test/fuzz/fuzz_parse_binary_protocol_accelerated_harness.rb
447
+ - test/fuzz/fuzz_parse_binary_protocol_harness.rb
448
+ - test/fuzz/fuzz_parse_compact_protocol.rb
449
+ - test/fuzz/fuzz_parse_compact_protocol_harness.rb
450
+ - test/fuzz/fuzz_parse_json_protocol.rb
451
+ - test/fuzz/fuzz_parse_json_protocol_harness.rb
452
+ - test/fuzz/fuzz_roundtrip_binary_protocol.rb
453
+ - test/fuzz/fuzz_roundtrip_binary_protocol_accelerated.rb
454
+ - test/fuzz/fuzz_roundtrip_binary_protocol_accelerated_harness.rb
455
+ - test/fuzz/fuzz_roundtrip_binary_protocol_harness.rb
456
+ - test/fuzz/fuzz_roundtrip_compact_protocol.rb
457
+ - test/fuzz/fuzz_roundtrip_compact_protocol_harness.rb
458
+ - test/fuzz/fuzz_roundtrip_json_protocol.rb
459
+ - test/fuzz/fuzz_roundtrip_json_protocol_harness.rb
460
+ - test/fuzz/fuzz_tracer.rb