cybrid_api_organization_ruby 0.129.1137 → 0.129.1138

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 (716) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +10 -42
  3. data/README.md +22 -12
  4. data/cybrid_api_organization_ruby.gemspec +10 -4
  5. data/docs/OrganizationsOrganizationApi.md +8 -8
  6. data/docs/SubscriptionDeliveriesOrganizationApi.md +12 -12
  7. data/docs/SubscriptionEventsOrganizationApi.md +8 -8
  8. data/docs/SubscriptionsOrganizationApi.md +20 -20
  9. data/lib/cybrid_api_organization_ruby/api/organizations_organization_api.rb +6 -6
  10. data/lib/cybrid_api_organization_ruby/api/subscription_deliveries_organization_api.rb +8 -8
  11. data/lib/cybrid_api_organization_ruby/api/subscription_events_organization_api.rb +6 -6
  12. data/lib/cybrid_api_organization_ruby/api/subscriptions_organization_api.rb +12 -12
  13. data/lib/cybrid_api_organization_ruby/api_client.rb +82 -104
  14. data/lib/cybrid_api_organization_ruby/api_error.rb +3 -2
  15. data/lib/cybrid_api_organization_ruby/configuration.rb +76 -60
  16. data/lib/cybrid_api_organization_ruby/models/error_response_organization_model.rb +21 -20
  17. data/lib/cybrid_api_organization_ruby/models/organization_list_organization_model.rb +23 -20
  18. data/lib/cybrid_api_organization_ruby/models/organization_organization_model.rb +21 -20
  19. data/lib/cybrid_api_organization_ruby/models/patch_organization_organization_model.rb +15 -20
  20. data/lib/cybrid_api_organization_ruby/models/patch_subscription_organization_model.rb +15 -20
  21. data/lib/cybrid_api_organization_ruby/models/post_subscription_delivery_organization_model.rb +19 -20
  22. data/lib/cybrid_api_organization_ruby/models/post_subscription_organization_model.rb +21 -20
  23. data/lib/cybrid_api_organization_ruby/models/subscription_delivery_list_organization_model.rb +23 -20
  24. data/lib/cybrid_api_organization_ruby/models/subscription_delivery_organization_model.rb +25 -20
  25. data/lib/cybrid_api_organization_ruby/models/subscription_environment_organization_model.rb +8 -5
  26. data/lib/cybrid_api_organization_ruby/models/subscription_event_list_organization_model.rb +23 -20
  27. data/lib/cybrid_api_organization_ruby/models/subscription_event_organization_model.rb +27 -20
  28. data/lib/cybrid_api_organization_ruby/models/subscription_list_organization_model.rb +23 -20
  29. data/lib/cybrid_api_organization_ruby/models/subscription_organization_model.rb +31 -22
  30. data/lib/cybrid_api_organization_ruby/models/subscription_state_organization_model.rb +8 -5
  31. data/lib/cybrid_api_organization_ruby/models/subscription_type_organization_model.rb +8 -5
  32. data/lib/cybrid_api_organization_ruby/version.rb +3 -3
  33. data/lib/cybrid_api_organization_ruby.rb +2 -2
  34. data/spec/api/organizations_organization_api_spec.rb +4 -4
  35. data/spec/api/subscription_deliveries_organization_api_spec.rb +5 -5
  36. data/spec/api/subscription_events_organization_api_spec.rb +4 -4
  37. data/spec/api/subscriptions_organization_api_spec.rb +7 -7
  38. data/spec/models/error_response_organization_model_spec.rb +8 -6
  39. data/spec/models/organization_list_organization_model_spec.rb +9 -7
  40. data/spec/models/organization_organization_model_spec.rb +9 -7
  41. data/spec/models/patch_organization_organization_model_spec.rb +6 -4
  42. data/spec/models/patch_subscription_organization_model_spec.rb +6 -4
  43. data/spec/models/post_subscription_delivery_organization_model_spec.rb +7 -5
  44. data/spec/models/post_subscription_organization_model_spec.rb +10 -8
  45. data/spec/models/subscription_delivery_list_organization_model_spec.rb +9 -7
  46. data/spec/models/subscription_delivery_organization_model_spec.rb +16 -14
  47. data/spec/models/subscription_environment_organization_model_spec.rb +5 -3
  48. data/spec/models/subscription_event_list_organization_model_spec.rb +9 -7
  49. data/spec/models/subscription_event_organization_model_spec.rb +13 -11
  50. data/spec/models/subscription_list_organization_model_spec.rb +9 -7
  51. data/spec/models/subscription_organization_model_spec.rb +18 -16
  52. data/spec/models/subscription_state_organization_model_spec.rb +5 -3
  53. data/spec/models/subscription_type_organization_model_spec.rb +5 -3
  54. data/spec/spec_helper.rb +2 -2
  55. data/vendor/bundle/ruby/4.0.0/cache/http-2-1.2.3.gem +0 -0
  56. data/vendor/bundle/ruby/4.0.0/cache/httpx-1.8.4.gem +0 -0
  57. data/vendor/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/byebug-13.0.0/gem_make.out +5 -5
  58. data/vendor/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/date-3.5.1/gem_make.out +5 -5
  59. data/vendor/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/io-console-0.9.4/gem_make.out +5 -5
  60. data/vendor/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/jaro_winkler-1.5.6/gem_make.out +5 -5
  61. data/vendor/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/psych-5.5.0/gem_make.out +5 -5
  62. data/vendor/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/racc-1.8.1/gem_make.out +5 -5
  63. data/vendor/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/stringio-3.2.0/gem_make.out +5 -5
  64. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/LICENSE +21 -0
  65. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/README.md +298 -0
  66. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/base64.rb +45 -0
  67. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/client.rb +82 -0
  68. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/connection.rb +882 -0
  69. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/emitter.rb +40 -0
  70. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/error.rb +67 -0
  71. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/extensions.rb +84 -0
  72. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/flow_buffer.rb +173 -0
  73. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/framer.rb +510 -0
  74. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/header/compressor.rb +156 -0
  75. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/header/decompressor.rb +133 -0
  76. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/header/encoding_context.rb +313 -0
  77. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/header/huffman.rb +326 -0
  78. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/header/huffman_statemachine.rb +274 -0
  79. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/header.rb +35 -0
  80. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/server.rb +160 -0
  81. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/settings.rb +58 -0
  82. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/stream.rb +695 -0
  83. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/version.rb +5 -0
  84. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2.rb +20 -0
  85. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/2.rbs +154 -0
  86. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/client.rbs +11 -0
  87. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/connection.rbs +102 -0
  88. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/emitter.rbs +11 -0
  89. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/error.rbs +35 -0
  90. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/extensions.rbs +15 -0
  91. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/flow_buffer.rbs +23 -0
  92. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/frame_buffer.rbs +17 -0
  93. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/framer.rbs +64 -0
  94. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/header/compressor.rbs +30 -0
  95. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/header/decompressor.rbs +25 -0
  96. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/header/encoding_context.rbs +56 -0
  97. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/header/huffman.rbs +27 -0
  98. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/header.rbs +30 -0
  99. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/server.rbs +14 -0
  100. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/settings.rbs +71 -0
  101. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/stream.rbs +93 -0
  102. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/LICENSE.txt +191 -0
  103. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/README.md +164 -0
  104. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_0_1.md +7 -0
  105. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_0_2.md +9 -0
  106. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_0_3.md +9 -0
  107. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_0_4.md +7 -0
  108. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_0_5.md +5 -0
  109. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_10_0.md +66 -0
  110. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_10_1.md +37 -0
  111. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_10_2.md +5 -0
  112. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_11_0.md +74 -0
  113. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_11_1.md +5 -0
  114. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_11_2.md +5 -0
  115. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_11_3.md +5 -0
  116. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_12_0.md +55 -0
  117. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_13_0.md +58 -0
  118. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_13_1.md +5 -0
  119. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_13_2.md +9 -0
  120. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_14_0.md +79 -0
  121. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_14_1.md +7 -0
  122. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_14_2.md +6 -0
  123. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_14_3.md +5 -0
  124. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_14_4.md +5 -0
  125. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_14_5.md +11 -0
  126. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_15_0.md +53 -0
  127. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_15_1.md +8 -0
  128. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_15_2.md +9 -0
  129. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_15_3.md +5 -0
  130. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_15_4.md +5 -0
  131. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_16_0.md +93 -0
  132. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_16_1.md +5 -0
  133. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_17_0.md +49 -0
  134. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_18_0.md +69 -0
  135. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_18_1.md +12 -0
  136. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_18_2.md +10 -0
  137. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_18_3.md +7 -0
  138. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_18_4.md +14 -0
  139. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_18_5.md +10 -0
  140. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_18_6.md +5 -0
  141. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_18_7.md +5 -0
  142. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_19_0.md +39 -0
  143. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_19_1.md +5 -0
  144. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_19_2.md +7 -0
  145. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_19_3.md +6 -0
  146. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_19_4.md +14 -0
  147. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_19_5.md +13 -0
  148. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_19_6.md +5 -0
  149. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_19_7.md +5 -0
  150. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_19_8.md +5 -0
  151. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_1_0.md +9 -0
  152. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_20_0.md +36 -0
  153. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_20_1.md +5 -0
  154. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_20_2.md +7 -0
  155. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_20_3.md +6 -0
  156. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_20_4.md +17 -0
  157. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_20_5.md +3 -0
  158. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_21_0.md +96 -0
  159. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_21_1.md +12 -0
  160. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_22_0.md +13 -0
  161. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_22_1.md +11 -0
  162. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_22_2.md +5 -0
  163. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_22_3.md +55 -0
  164. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_22_4.md +6 -0
  165. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_22_5.md +6 -0
  166. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_23_0.md +42 -0
  167. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_23_1.md +5 -0
  168. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_23_2.md +5 -0
  169. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_23_3.md +6 -0
  170. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_23_4.md +5 -0
  171. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_24_0.md +48 -0
  172. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_24_1.md +12 -0
  173. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_24_2.md +12 -0
  174. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_24_3.md +12 -0
  175. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_24_4.md +18 -0
  176. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_24_5.md +6 -0
  177. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_24_6.md +5 -0
  178. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_24_7.md +10 -0
  179. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_2_0.md +5 -0
  180. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_2_1.md +16 -0
  181. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_3_0.md +12 -0
  182. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_3_1.md +6 -0
  183. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_4_0.md +51 -0
  184. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_4_1.md +3 -0
  185. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_5_0.md +15 -0
  186. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_5_1.md +14 -0
  187. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_6_0.md +5 -0
  188. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_6_1.md +6 -0
  189. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_6_2.md +6 -0
  190. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_6_3.md +13 -0
  191. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_6_4.md +21 -0
  192. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_6_5.md +22 -0
  193. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_6_6.md +19 -0
  194. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_6_7.md +5 -0
  195. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_7_0.md +46 -0
  196. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_8_0.md +27 -0
  197. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_8_1.md +8 -0
  198. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_8_2.md +7 -0
  199. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_9_0.md +38 -0
  200. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_0_0.md +60 -0
  201. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_0_1.md +5 -0
  202. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_0_2.md +7 -0
  203. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_1_0.md +32 -0
  204. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_1_1.md +17 -0
  205. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_1_2.md +12 -0
  206. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_1_3.md +18 -0
  207. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_1_4.md +6 -0
  208. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_1_5.md +12 -0
  209. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_2_0.md +49 -0
  210. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_2_1.md +6 -0
  211. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_2_2.md +10 -0
  212. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_2_3.md +16 -0
  213. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_2_4.md +8 -0
  214. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_2_5.md +7 -0
  215. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_2_6.md +13 -0
  216. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_3_0.md +18 -0
  217. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_3_1.md +17 -0
  218. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_3_2.md +6 -0
  219. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_3_3.md +5 -0
  220. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_3_4.md +6 -0
  221. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_4_0.md +43 -0
  222. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_4_1.md +19 -0
  223. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_4_2.md +20 -0
  224. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_4_3.md +11 -0
  225. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_4_4.md +14 -0
  226. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_5_0.md +126 -0
  227. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_5_1.md +6 -0
  228. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_6_0.md +50 -0
  229. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_6_1.md +17 -0
  230. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_6_2.md +11 -0
  231. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_6_3.md +47 -0
  232. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_7_0.md +149 -0
  233. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_7_1.md +20 -0
  234. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_7_2.md +6 -0
  235. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_7_3.md +29 -0
  236. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_7_4.md +42 -0
  237. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_7_5.md +10 -0
  238. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_7_6.md +24 -0
  239. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_7_7.md +17 -0
  240. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_7_8.md +5 -0
  241. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_8_0.md +100 -0
  242. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_8_1.md +27 -0
  243. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_8_2.md +30 -0
  244. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_8_3.md +9 -0
  245. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_8_4.md +13 -0
  246. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/adapters/datadog.rb +343 -0
  247. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/adapters/faraday.rb +293 -0
  248. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/adapters/sentry.rb +121 -0
  249. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/adapters/webmock.rb +190 -0
  250. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/altsvc.rb +167 -0
  251. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/base64.rb +27 -0
  252. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/buffer.rb +66 -0
  253. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/callbacks.rb +35 -0
  254. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/chainable.rb +106 -0
  255. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/connection/http1.rb +416 -0
  256. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/connection/http2.rb +601 -0
  257. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/connection.rb +1196 -0
  258. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/domain_name.rb +145 -0
  259. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/errors.rb +121 -0
  260. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/extensions.rb +45 -0
  261. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/headers.rb +176 -0
  262. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/io/ssl.rb +184 -0
  263. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/io/tcp.rb +262 -0
  264. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/io/udp.rb +62 -0
  265. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/io/unix.rb +75 -0
  266. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/io.rb +11 -0
  267. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/loggable.rb +75 -0
  268. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/options.rb +616 -0
  269. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/parser/http1.rb +202 -0
  270. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/auth/basic.rb +20 -0
  271. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/auth/digest.rb +149 -0
  272. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/auth/ntlm.rb +35 -0
  273. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/auth/socks5.rb +22 -0
  274. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/auth.rb +225 -0
  275. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/aws_sdk_authentication.rb +110 -0
  276. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/aws_sigv4.rb +239 -0
  277. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/basic_auth.rb +29 -0
  278. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/brotli.rb +78 -0
  279. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/cache/file_store.rb +141 -0
  280. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/cache/store.rb +33 -0
  281. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/cache.rb +221 -0
  282. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/callbacks.rb +153 -0
  283. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/circuit_breaker/circuit.rb +101 -0
  284. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/circuit_breaker/circuit_store.rb +53 -0
  285. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/circuit_breaker.rb +147 -0
  286. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/content_digest.rb +204 -0
  287. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/cookies/cookie.rb +197 -0
  288. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/cookies/jar.rb +170 -0
  289. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/cookies/set_cookie_parser.rb +143 -0
  290. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/cookies.rb +111 -0
  291. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/digest_auth.rb +72 -0
  292. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/expect.rb +150 -0
  293. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/fiber_concurrency.rb +279 -0
  294. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/follow_redirects.rb +265 -0
  295. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/grpc/call.rb +63 -0
  296. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/grpc/grpc_encoding.rb +90 -0
  297. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/grpc/message.rb +55 -0
  298. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/grpc.rb +282 -0
  299. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/h2c.rb +117 -0
  300. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/internal_telemetry.rb +107 -0
  301. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/ntlm_auth.rb +64 -0
  302. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/ntlm_v2_auth.rb +92 -0
  303. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/oauth.rb +336 -0
  304. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/persistent.rb +111 -0
  305. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/proxy/http.rb +236 -0
  306. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/proxy/socks4.rb +135 -0
  307. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/proxy/socks5.rb +194 -0
  308. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/proxy/ssh.rb +94 -0
  309. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/proxy.rb +370 -0
  310. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/push_promise.rb +81 -0
  311. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/query.rb +35 -0
  312. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/rate_limiter.rb +60 -0
  313. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/response_cache.rb +268 -0
  314. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/retries.rb +299 -0
  315. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/server_sent_events.rb +158 -0
  316. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/ssrf_filter.rb +161 -0
  317. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/stream.rb +238 -0
  318. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/stream_bidi.rb +410 -0
  319. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/tracing.rb +156 -0
  320. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/upgrade/h2.rb +54 -0
  321. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/upgrade.rb +86 -0
  322. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/webdav.rb +86 -0
  323. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/xml.rb +76 -0
  324. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/pmatch_extensions.rb +33 -0
  325. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/pool.rb +231 -0
  326. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/punycode.rb +22 -0
  327. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/request/body.rb +161 -0
  328. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/request.rb +387 -0
  329. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/resolver/cache/base.rb +129 -0
  330. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/resolver/cache/file.rb +56 -0
  331. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/resolver/cache/memory.rb +42 -0
  332. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/resolver/cache.rb +18 -0
  333. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/resolver/entry.rb +30 -0
  334. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/resolver/https.rb +326 -0
  335. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/resolver/multi.rb +84 -0
  336. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/resolver/native.rb +603 -0
  337. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/resolver/resolver.rb +213 -0
  338. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/resolver/system.rb +284 -0
  339. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/resolver.rb +111 -0
  340. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/response/body.rb +246 -0
  341. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/response/buffer.rb +115 -0
  342. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/response.rb +331 -0
  343. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/selector.rb +327 -0
  344. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/session.rb +605 -0
  345. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/session_extensions.rb +30 -0
  346. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/timers.rb +134 -0
  347. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/body.rb +43 -0
  348. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/chunker.rb +115 -0
  349. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/deflate.rb +42 -0
  350. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/form.rb +68 -0
  351. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/gzip.rb +76 -0
  352. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/json.rb +70 -0
  353. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/multipart/decoder.rb +141 -0
  354. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/multipart/encoder.rb +120 -0
  355. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/multipart/mime_type_detector.rb +78 -0
  356. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/multipart/part.rb +35 -0
  357. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/multipart.rb +39 -0
  358. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/utils/body_reader.rb +45 -0
  359. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/utils/deflater.rb +73 -0
  360. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder.rb +89 -0
  361. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/utils.rb +88 -0
  362. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/version.rb +5 -0
  363. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx.rb +66 -0
  364. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/altsvc.rbs +41 -0
  365. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/buffer.rbs +27 -0
  366. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/callbacks.rbs +15 -0
  367. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/chainable.rbs +59 -0
  368. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/connection/http1.rbs +89 -0
  369. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/connection/http2.rbs +140 -0
  370. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/connection.rbs +199 -0
  371. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/domain_name.rbs +17 -0
  372. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/errors.rbs +75 -0
  373. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/headers.rbs +49 -0
  374. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/httpx.rbs +29 -0
  375. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/io/ssl.rbs +33 -0
  376. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/io/tcp.rbs +74 -0
  377. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/io/udp.rbs +25 -0
  378. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/io/unix.rbs +26 -0
  379. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/io.rbs +3 -0
  380. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/loggable.rbs +29 -0
  381. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/options.rbs +232 -0
  382. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/parser/http1.rbs +61 -0
  383. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/auth/basic.rbs +17 -0
  384. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/auth/digest.rbs +31 -0
  385. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/auth/ntlm.rbs +22 -0
  386. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/auth/socks5.rbs +18 -0
  387. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/auth.rbs +59 -0
  388. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/aws_sdk_authentication.rbs +43 -0
  389. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/aws_sigv4.rbs +78 -0
  390. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/basic_auth.rbs +15 -0
  391. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/brotli.rbs +27 -0
  392. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/cache/file_store.rbs +21 -0
  393. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/cache/store.rbs +13 -0
  394. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/cache.rbs +69 -0
  395. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/callbacks.rbs +41 -0
  396. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/circuit_breaker.rbs +71 -0
  397. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/compression.rbs +57 -0
  398. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/content_digest.rbs +51 -0
  399. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/cookies/cookie.rbs +56 -0
  400. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/cookies/jar.rbs +37 -0
  401. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/cookies/set_cookie_parser.rbs +22 -0
  402. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/cookies.rbs +30 -0
  403. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/digest_auth.rbs +19 -0
  404. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/expect.rbs +34 -0
  405. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/fiber_concurrency.rbs +61 -0
  406. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/follow_redirects.rbs +47 -0
  407. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/grpc/call.rbs +23 -0
  408. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/grpc/grpc_encoding.rbs +37 -0
  409. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/grpc/message.rbs +17 -0
  410. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/grpc.rbs +65 -0
  411. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/h2c.rbs +27 -0
  412. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/ntlm_auth.rbs +21 -0
  413. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/ntlm_v2_auth.rbs +36 -0
  414. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/oauth.rbs +97 -0
  415. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/persistent.rbs +21 -0
  416. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/proxy/http.rbs +32 -0
  417. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/proxy/socks4.rbs +41 -0
  418. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/proxy/socks5.rbs +49 -0
  419. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/proxy/ssh.rbs +18 -0
  420. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/proxy.rbs +71 -0
  421. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/push_promise.rbs +23 -0
  422. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/query.rbs +18 -0
  423. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/rate_limiter.rbs +15 -0
  424. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/response_cache.rbs +67 -0
  425. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/retries.rbs +80 -0
  426. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/server_sent_events.rbs +45 -0
  427. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/ssrf_filter.rbs +30 -0
  428. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/stream.rbs +64 -0
  429. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/stream_bidi.rbs +67 -0
  430. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/tracing.rbs +41 -0
  431. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/upgrade/h2.rbs +9 -0
  432. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/upgrade.rbs +29 -0
  433. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/webdav.rbs +23 -0
  434. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/xml.rbs +37 -0
  435. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/pool.rbs +51 -0
  436. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/punycode.rbs +5 -0
  437. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/request/body.rbs +34 -0
  438. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/request.rbs +99 -0
  439. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/resolver/cache/base.rbs +28 -0
  440. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/resolver/cache/file.rbs +13 -0
  441. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/resolver/cache/memory.rbs +13 -0
  442. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/resolver/cache.rbs +16 -0
  443. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/resolver/entry.rbs +13 -0
  444. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/resolver/https.rbs +71 -0
  445. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/resolver/multi.rbs +31 -0
  446. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/resolver/native.rbs +76 -0
  447. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/resolver/resolver.rbs +65 -0
  448. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/resolver/system.rbs +37 -0
  449. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/resolver.rbs +36 -0
  450. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/response/body.rbs +52 -0
  451. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/response/buffer.rbs +23 -0
  452. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/response.rbs +109 -0
  453. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/selector.rbs +80 -0
  454. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/session.rbs +104 -0
  455. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/timers.rbs +58 -0
  456. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/transcoder/body.rbs +24 -0
  457. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/transcoder/chunker.rbs +49 -0
  458. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/transcoder/deflate.rbs +12 -0
  459. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/transcoder/form.rbs +34 -0
  460. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/transcoder/gzip.rbs +28 -0
  461. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/transcoder/json.rbs +28 -0
  462. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/transcoder/multipart.rbs +108 -0
  463. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/transcoder/utils/body_reader.rbs +15 -0
  464. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/transcoder/utils/deflater.rbs +30 -0
  465. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/transcoder.rbs +47 -0
  466. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/utils.rbs +21 -0
  467. data/vendor/bundle/ruby/4.0.0/specifications/http-2-1.2.3.gemspec +22 -0
  468. data/vendor/bundle/ruby/4.0.0/specifications/httpx-1.8.4.gemspec +28 -0
  469. metadata +426 -254
  470. data/spec/api_client_spec.rb +0 -226
  471. data/spec/configuration_spec.rb +0 -42
  472. data/vendor/bundle/ruby/4.0.0/cache/ethon-0.18.0.gem +0 -0
  473. data/vendor/bundle/ruby/4.0.0/cache/ffi-1.17.4-x86_64-linux-gnu.gem +0 -0
  474. data/vendor/bundle/ruby/4.0.0/cache/typhoeus-1.6.0.gem +0 -0
  475. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/CHANGELOG.md +0 -417
  476. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/LICENSE +0 -20
  477. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/README.md +0 -118
  478. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/ethon.gemspec +0 -37
  479. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/curl.rb +0 -90
  480. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/curls/classes.rb +0 -65
  481. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/curls/codes.rb +0 -123
  482. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/curls/constants.rb +0 -80
  483. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/curls/form_options.rb +0 -37
  484. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/curls/functions.rb +0 -58
  485. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/curls/infos.rb +0 -151
  486. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/curls/messages.rb +0 -19
  487. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/curls/options.rb +0 -503
  488. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/curls/settings.rb +0 -12
  489. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/callbacks.rb +0 -155
  490. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/debug_info.rb +0 -47
  491. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/features.rb +0 -31
  492. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/form.rb +0 -107
  493. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/header.rb +0 -61
  494. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/http/actionable.rb +0 -157
  495. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/http/custom.rb +0 -29
  496. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/http/delete.rb +0 -25
  497. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/http/get.rb +0 -24
  498. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/http/head.rb +0 -24
  499. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/http/options.rb +0 -24
  500. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/http/patch.rb +0 -24
  501. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/http/post.rb +0 -26
  502. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/http/postable.rb +0 -32
  503. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/http/put.rb +0 -27
  504. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/http/putable.rb +0 -25
  505. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/http.rb +0 -68
  506. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/informations.rb +0 -116
  507. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/mirror.rb +0 -36
  508. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/operations.rb +0 -64
  509. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/options.rb +0 -50
  510. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/params.rb +0 -29
  511. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/queryable.rb +0 -154
  512. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/response_callbacks.rb +0 -136
  513. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/util.rb +0 -28
  514. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy.rb +0 -315
  515. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/errors/ethon_error.rb +0 -9
  516. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/errors/global_init.rb +0 -13
  517. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/errors/invalid_option.rb +0 -13
  518. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/errors/invalid_value.rb +0 -13
  519. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/errors/multi_add.rb +0 -12
  520. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/errors/multi_fdset.rb +0 -12
  521. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/errors/multi_remove.rb +0 -12
  522. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/errors/multi_timeout.rb +0 -13
  523. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/errors/select.rb +0 -13
  524. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/errors.rb +0 -17
  525. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/libc.rb +0 -21
  526. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/loggable.rb +0 -58
  527. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/multi/operations.rb +0 -228
  528. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/multi/options.rb +0 -117
  529. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/multi/stack.rb +0 -49
  530. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/multi.rb +0 -126
  531. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/version.rb +0 -6
  532. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon.rb +0 -36
  533. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/CHANGELOG.md +0 -507
  534. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/COPYING +0 -49
  535. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/Gemfile +0 -26
  536. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/LICENSE +0 -24
  537. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/LICENSE.SPECS +0 -22
  538. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/README.md +0 -138
  539. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/Rakefile +0 -209
  540. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/Steepfile +0 -8
  541. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/ffi.gemspec +0 -43
  542. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/3.0/ffi_c.so +0 -0
  543. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/3.1/ffi_c.so +0 -0
  544. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/3.2/ffi_c.so +0 -0
  545. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/3.3/ffi_c.so +0 -0
  546. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/3.4/ffi_c.so +0 -0
  547. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/4.0/ffi_c.so +0 -0
  548. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/abstract_memory.rb +0 -44
  549. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/autopointer.rb +0 -186
  550. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/buffer.rb +0 -4
  551. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/callback.rb +0 -4
  552. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/compat.rb +0 -54
  553. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/data_converter.rb +0 -67
  554. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/dynamic_library.rb +0 -118
  555. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/enum.rb +0 -302
  556. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/errno.rb +0 -43
  557. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/ffi.rb +0 -109
  558. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/function.rb +0 -94
  559. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/io.rb +0 -62
  560. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/library.rb +0 -592
  561. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/library_path.rb +0 -109
  562. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/managedstruct.rb +0 -84
  563. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/memorypointer.rb +0 -1
  564. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/aarch64-darwin/types.conf +0 -130
  565. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/aarch64-freebsd/types.conf +0 -128
  566. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/aarch64-freebsd12/types.conf +0 -181
  567. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/aarch64-linux/types.conf +0 -175
  568. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/aarch64-openbsd/types.conf +0 -134
  569. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/aarch64-windows/types.conf +0 -52
  570. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/arm-freebsd/types.conf +0 -152
  571. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/arm-freebsd12/types.conf +0 -152
  572. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/arm-linux/types.conf +0 -132
  573. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/hppa1.1-linux/types.conf +0 -178
  574. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/hppa2.0-linux/types.conf +0 -178
  575. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/i386-cygwin/types.conf +0 -3
  576. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/i386-darwin/types.conf +0 -100
  577. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/i386-freebsd/types.conf +0 -152
  578. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/i386-freebsd12/types.conf +0 -152
  579. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/i386-gnu/types.conf +0 -107
  580. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/i386-linux/types.conf +0 -103
  581. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/i386-netbsd/types.conf +0 -126
  582. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/i386-openbsd/types.conf +0 -128
  583. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/i386-solaris/types.conf +0 -122
  584. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/i386-windows/types.conf +0 -52
  585. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/ia64-linux/types.conf +0 -104
  586. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/loongarch64-linux/types.conf +0 -141
  587. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/mips-linux/types.conf +0 -102
  588. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/mips64-linux/types.conf +0 -104
  589. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/mips64el-linux/types.conf +0 -104
  590. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/mipsel-linux/types.conf +0 -102
  591. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/mipsisa32r6-linux/types.conf +0 -102
  592. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/mipsisa32r6el-linux/types.conf +0 -102
  593. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/mipsisa64r6-linux/types.conf +0 -104
  594. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/mipsisa64r6el-linux/types.conf +0 -104
  595. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/powerpc-aix/types.conf +0 -180
  596. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/powerpc-darwin/types.conf +0 -100
  597. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/powerpc-linux/types.conf +0 -130
  598. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/powerpc-openbsd/types.conf +0 -156
  599. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/powerpc64-linux/types.conf +0 -104
  600. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/powerpc64le-linux/types.conf +0 -100
  601. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/riscv64-linux/types.conf +0 -104
  602. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/s390-linux/types.conf +0 -102
  603. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/s390x-linux/types.conf +0 -102
  604. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/sparc-linux/types.conf +0 -102
  605. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/sparc-solaris/types.conf +0 -128
  606. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/sparcv9-linux/types.conf +0 -102
  607. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/sparcv9-openbsd/types.conf +0 -156
  608. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/sparcv9-solaris/types.conf +0 -128
  609. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/sw_64-linux/types.conf +0 -141
  610. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/x86_64-cygwin/types.conf +0 -3
  611. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/x86_64-darwin/types.conf +0 -130
  612. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/x86_64-dragonflybsd/types.conf +0 -130
  613. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/x86_64-freebsd/types.conf +0 -128
  614. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/x86_64-freebsd12/types.conf +0 -158
  615. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/x86_64-haiku/types.conf +0 -117
  616. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/x86_64-linux/types.conf +0 -132
  617. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/x86_64-msys/types.conf +0 -119
  618. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/x86_64-netbsd/types.conf +0 -128
  619. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/x86_64-openbsd/types.conf +0 -134
  620. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/x86_64-solaris/types.conf +0 -122
  621. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform/x86_64-windows/types.conf +0 -52
  622. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform.rb +0 -187
  623. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/pointer.rb +0 -167
  624. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/struct.rb +0 -317
  625. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/struct_by_reference.rb +0 -72
  626. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/struct_layout.rb +0 -96
  627. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/struct_layout_builder.rb +0 -227
  628. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/tools/const_generator.rb +0 -232
  629. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/tools/generator.rb +0 -105
  630. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/tools/generator_task.rb +0 -32
  631. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/tools/struct_generator.rb +0 -195
  632. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/types.rb +0 -222
  633. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/union.rb +0 -43
  634. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/variadic.rb +0 -80
  635. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/version.rb +0 -3
  636. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi.rb +0 -27
  637. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/samples/getlogin.rb +0 -8
  638. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/samples/getpid.rb +0 -8
  639. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/samples/gettimeofday.rb +0 -18
  640. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/samples/hello.rb +0 -8
  641. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/samples/hello_ractor.rb +0 -19
  642. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/samples/inotify.rb +0 -60
  643. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/samples/pty.rb +0 -75
  644. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/samples/qsort.rb +0 -20
  645. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/samples/qsort_ractor.rb +0 -36
  646. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/abstract_memory.rbs +0 -165
  647. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/auto_pointer.rbs +0 -26
  648. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/buffer.rbs +0 -18
  649. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/data_converter.rbs +0 -10
  650. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/dynamic_library.rbs +0 -9
  651. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/enum.rbs +0 -38
  652. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/errno.rbs +0 -8
  653. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/function.rbs +0 -39
  654. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/library.rbs +0 -42
  655. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/native_type.rbs +0 -86
  656. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/platform.rbs +0 -49
  657. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/pointer.rbs +0 -42
  658. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/struct.rbs +0 -76
  659. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/struct_by_reference.rbs +0 -11
  660. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/struct_by_value.rbs +0 -7
  661. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/struct_layout.rbs +0 -9
  662. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/struct_layout_builder.rbs +0 -5
  663. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/type.rbs +0 -39
  664. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi.rbs +0 -29
  665. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/CHANGELOG.md +0 -465
  666. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/CONTRIBUTING.md +0 -20
  667. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/LICENSE +0 -22
  668. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/README.md +0 -588
  669. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/UPGRADE.md +0 -55
  670. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/rack/typhoeus/middleware/params_decoder/helper.rb +0 -76
  671. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/rack/typhoeus/middleware/params_decoder.rb +0 -57
  672. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/rack/typhoeus.rb +0 -1
  673. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/adapters/faraday.rb +0 -180
  674. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/cache/dalli.rb +0 -28
  675. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/cache/rails.rb +0 -28
  676. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/cache/redis.rb +0 -35
  677. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/config.rb +0 -85
  678. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/easy_factory.rb +0 -206
  679. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/errors/no_stub.rb +0 -12
  680. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/errors/typhoeus_error.rb +0 -8
  681. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/errors.rb +0 -9
  682. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/expectation.rb +0 -219
  683. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/addable.rb +0 -23
  684. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/before.rb +0 -31
  685. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/block_connection.rb +0 -35
  686. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/cacheable.rb +0 -15
  687. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/memoizable.rb +0 -56
  688. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/queueable.rb +0 -83
  689. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/runnable.rb +0 -19
  690. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/stubbable.rb +0 -28
  691. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra.rb +0 -95
  692. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/pool.rb +0 -70
  693. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/railtie.rb +0 -12
  694. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/request/actions.rb +0 -125
  695. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/request/before.rb +0 -30
  696. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/request/block_connection.rb +0 -52
  697. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/request/cacheable.rb +0 -38
  698. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/request/callbacks.rb +0 -151
  699. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/request/marshal.rb +0 -22
  700. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/request/memoizable.rb +0 -38
  701. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/request/operations.rb +0 -40
  702. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/request/responseable.rb +0 -29
  703. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/request/streamable.rb +0 -34
  704. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/request/stubbable.rb +0 -30
  705. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/request.rb +0 -223
  706. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/response/cacheable.rb +0 -14
  707. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/response/header.rb +0 -105
  708. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/response/informations.rb +0 -305
  709. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/response/status.rb +0 -106
  710. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/response.rb +0 -68
  711. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/version.rb +0 -5
  712. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus.rb +0 -143
  713. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/typhoeus.gemspec +0 -35
  714. data/vendor/bundle/ruby/4.0.0/specifications/ethon-0.18.0.gemspec +0 -27
  715. data/vendor/bundle/ruby/4.0.0/specifications/ffi-1.17.4-x86_64-linux-gnu.gemspec +0 -24
  716. data/vendor/bundle/ruby/4.0.0/specifications/typhoeus-1.6.0.gemspec +0 -26
@@ -0,0 +1,882 @@
1
+ # frozen_string_literal: true
2
+
3
+ module HTTP2
4
+ # Default connection and stream flow control window (64KB).
5
+ DEFAULT_FLOW_WINDOW = 65_535
6
+
7
+ # Default header table size
8
+ DEFAULT_HEADER_SIZE = 4096
9
+
10
+ # Default stream_limit
11
+ DEFAULT_MAX_CONCURRENT_STREAMS = 100
12
+
13
+ # Default stream priority (lower values are higher priority).
14
+ DEFAULT_WEIGHT = 16
15
+
16
+ # Default connection "fast-fail" preamble string as defined by the spec.
17
+ CONNECTION_PREFACE_MAGIC = "PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n"
18
+
19
+ REQUEST_MANDATORY_HEADERS = %w[:scheme :method :authority :path].freeze
20
+
21
+ RESPONSE_MANDATORY_HEADERS = %w[:status].freeze
22
+
23
+ CONNECTION_FRAME_TYPES = %i[settings ping goaway].freeze
24
+
25
+ STREAM_OPEN_STATES = %i[open half_closed_local].freeze
26
+
27
+ # Connection encapsulates all of the connection, stream, flow-control,
28
+ # error management, and other processing logic required for a well-behaved
29
+ # HTTP 2.0 endpoint.
30
+ #
31
+ # Note that this class should not be used directly. Instead, you want to
32
+ # use either Client or Server class to drive the HTTP 2.0 exchange.
33
+ #
34
+ class Connection
35
+ include FlowBuffer
36
+ include Emitter
37
+ include Error
38
+ include BufferUtils
39
+
40
+ # Connection state (:waiting_magic, :waiting_connection_preface,
41
+ # :connected, :closing, :closed).
42
+ attr_reader :state
43
+
44
+ # Size of current connection flow control window (by default, set to
45
+ # infinity, but is automatically updated on receipt of peer settings).
46
+ attr_reader :local_window
47
+ attr_reader :remote_window, :remote_settings
48
+ alias window local_window
49
+
50
+ # Current settings value for local and peer
51
+ attr_reader :local_settings
52
+
53
+ # Pending settings value
54
+ # Sent but not ack'ed settings
55
+ attr_reader :pending_settings
56
+
57
+ # Number of active streams between client and server (reserved streams
58
+ # are not counted towards the stream limit).
59
+ attr_accessor :active_stream_count
60
+
61
+ # Initializes new connection object.
62
+ def initialize(settings = {})
63
+ @local_settings = Settings.new(**settings)
64
+ @remote_settings = Settings.new(settings_max_concurrent_streams: Framer::MAX_STREAM_ID)
65
+
66
+ @compressor = Header::Compressor.new(@local_settings)
67
+ @decompressor = Header::Decompressor.new(@local_settings)
68
+
69
+ @active_stream_count = 0
70
+ @last_stream_id = 0
71
+ @streams = {}
72
+ @streams_recently_closed = {}
73
+ @oldest_stream_recently_closed = nil
74
+ @pending_settings = []
75
+
76
+ @framer = Framer.new(@local_settings.settings_max_frame_size)
77
+
78
+ @local_window_limit = @local_settings.settings_initial_window_size
79
+ @local_window = @local_window_limit
80
+ @remote_window_limit = @remote_settings.settings_initial_window_size
81
+ @remote_window = @remote_window_limit
82
+
83
+ @recv_buffer = "".b
84
+ @continuation = []
85
+ @continuation_size = 0
86
+ @error = nil
87
+
88
+ @h2c_upgrade = nil
89
+ @closed_since = nil
90
+ @received_frame = false
91
+
92
+ # from mixins
93
+ @listeners = Hash.new { |hash, key| hash[key] = [] }
94
+ @send_buffer = FrameBuffer.new
95
+ end
96
+
97
+ # No new streams may be opened (a GOAWAY was sent or received).
98
+ def closed?
99
+ @state == :closed || @state == :closing
100
+ end
101
+
102
+ # Graceful GOAWAY received: tracked streams may still complete,
103
+ # but no new ones can be opened.
104
+ def closing?
105
+ @state == :closing
106
+ end
107
+
108
+ # Allocates new stream for current connection.
109
+ #
110
+ # @param priority [Integer]
111
+ # @param window [Integer]
112
+ # @param parent [Stream]
113
+ def new_stream(**args)
114
+ raise ConnectionClosed if closed?
115
+
116
+ connection_error(:protocol_error, msg: "id is smaller than previous") if @stream_id < @last_stream_id
117
+
118
+ stream = activate_stream(
119
+ id: @stream_id,
120
+ max_concurrent_streams: @remote_settings.settings_max_concurrent_streams,
121
+ **args
122
+ )
123
+ @last_stream_id = stream.id
124
+
125
+ @stream_id += 2
126
+
127
+ stream
128
+ end
129
+
130
+ # Sends PING frame to the peer.
131
+ #
132
+ # @param payload [String] optional payload must be 8 bytes long
133
+ # @param blk [Proc] callback to execute when PONG is received
134
+ def ping(payload, &blk)
135
+ send(type: :ping, stream: 0, payload: payload)
136
+ once(:ack, &blk) if blk
137
+ end
138
+
139
+ # Sends a GOAWAY frame indicating that the peer should stop creating
140
+ # new streams for current connection.
141
+ #
142
+ # Endpoints MAY append opaque data to the payload of any GOAWAY frame.
143
+ # Additional debug data is intended for diagnostic purposes only and
144
+ # carries no semantic value. Debug data MUST NOT be persistently stored,
145
+ # since it could contain sensitive information.
146
+ #
147
+ # @param error [Symbol]
148
+ # @param payload [String]
149
+ def goaway(error = :no_error, payload = nil)
150
+ send(type: :goaway, stream: 0, last_stream: @last_stream_id,
151
+ error: error, payload: payload)
152
+ close!
153
+ end
154
+
155
+ # Sends a WINDOW_UPDATE frame to the peer.
156
+ #
157
+ # @param increment [Integer]
158
+ def window_update(increment)
159
+ @local_window += increment
160
+ send(type: :window_update, stream: 0, increment: increment)
161
+ end
162
+
163
+ # Sends a connection SETTINGS frame to the peer.
164
+ # The values are reflected when the corresponding ACK is received.
165
+ #
166
+ # @param settings [Array or Hash]
167
+ def settings(payload)
168
+ validate_settings(@local_role, payload)
169
+ @pending_settings << payload
170
+ send(type: :settings, stream: 0, payload: payload)
171
+ end
172
+
173
+ # Decodes incoming bytes into HTTP 2.0 frames and routes them to
174
+ # appropriate receivers: connection frames are handled directly, and
175
+ # stream frames are passed to appropriate stream objects.
176
+ #
177
+ # @param data [String] Binary encoded string
178
+ def receive(data)
179
+ append_str(@recv_buffer, data)
180
+
181
+ # Upon establishment of a TCP connection and determination that
182
+ # HTTP/2.0 will be used by both peers, each endpoint MUST send a
183
+ # connection header as a final confirmation and to establish the
184
+ # initial settings for the HTTP/2.0 connection.
185
+ #
186
+ # Client connection header is 24 byte connection header followed by
187
+ # SETTINGS frame. Server connection header is SETTINGS frame only.
188
+ if @state == :waiting_magic
189
+ if @recv_buffer.size < 24
190
+ raise HandshakeError unless CONNECTION_PREFACE_MAGIC.start_with? @recv_buffer
191
+
192
+ return # maybe next time
193
+ elsif read_str(@recv_buffer, 24) == CONNECTION_PREFACE_MAGIC
194
+ # MAGIC is OK. Send our settings
195
+ @state = :waiting_connection_preface
196
+ payload = @local_settings.connection_settings.reject { |k, v| v == SPEC_DEFAULT_CONNECTION_SETTINGS[k] }
197
+ settings(payload)
198
+ else
199
+ raise HandshakeError
200
+ end
201
+ end
202
+
203
+ while (frame = @framer.parse(@recv_buffer))
204
+ stream_id = frame[:stream] #: Integer
205
+ frame_type = frame[:type] #: Symbol?
206
+
207
+ if is_a?(Client) && !@received_frame
208
+ connection_error(:protocol_error, msg: "didn't receive settings") if frame_type != :settings
209
+ @received_frame = true
210
+ end
211
+
212
+ # Implementations MUST discard frames
213
+ # that have unknown or unsupported types.
214
+ if frame_type.nil?
215
+ # However, extension frames that appear in
216
+ # the middle of a header block (Section 4.3) are not permitted; these
217
+ # MUST be treated as a connection error (Section 5.4.1) of type
218
+ # PROTOCOL_ERROR.
219
+ connection_error(:protocol_error) unless @continuation.empty?
220
+ next
221
+ end
222
+
223
+ emit(:frame_received, frame)
224
+
225
+ # Header blocks MUST be transmitted as a contiguous sequence of frames
226
+ # with no interleaved frames of any other type, or from any other stream.
227
+ unless @continuation.empty?
228
+ # @type var frame: continuation_frame
229
+ connection_error unless frame_type == :continuation && stream_id == @continuation.first[:stream]
230
+
231
+ @continuation << frame
232
+ @continuation_size += frame[:payload].bytesize
233
+ unless frame[:flags].anybits?(END_HEADERS)
234
+ # prevent HTTP/2 CONTINUATION FLOOD
235
+ # same heuristic as the one from HAProxy: https://www.haproxy.com/blog/haproxy-is-resilient-to-the-http-2-continuation-flood
236
+ # different mitigation (connection closed, instead of 400 response)
237
+ unless @continuation_size < @local_settings.settings_max_frame_size
238
+ connection_error(:protocol_error,
239
+ msg: "too many continuations received")
240
+ end
241
+
242
+ next
243
+ end
244
+
245
+ payload = @continuation.map { |f| f[:payload] }.join
246
+
247
+ frame = @continuation.shift
248
+ frame_type = frame[:type]
249
+
250
+ @continuation.clear
251
+ @continuation_size = 0
252
+
253
+ frame.delete(:length)
254
+ frame[:payload] = payload
255
+ frame[:flags] |= END_HEADERS
256
+ end
257
+
258
+ # SETTINGS frames always apply to a connection, never a single stream.
259
+ # The stream identifier for a settings frame MUST be zero. If an
260
+ # endpoint receives a SETTINGS frame whose stream identifier field is
261
+ # anything other than 0x0, the endpoint MUST respond with a connection
262
+ # error (Section 5.4.1) of type PROTOCOL_ERROR.
263
+ if connection_frame?(frame)
264
+ # @type var frame: connection_frame
265
+ connection_error(:protocol_error) unless stream_id.zero?
266
+ connection_management(frame)
267
+ else
268
+ case frame_type
269
+ when :headers
270
+ # @type var frame: headers_frame
271
+ # When server receives even-numbered stream identifier,
272
+ # the endpoint MUST respond with a connection error of type PROTOCOL_ERROR.
273
+ connection_error if stream_id.even? && is_a?(Server)
274
+
275
+ # The last frame in a sequence of HEADERS/CONTINUATION
276
+ # frames MUST have the END_HEADERS flag set.
277
+ unless frame[:flags].anybits?(END_HEADERS)
278
+ @continuation << frame
279
+ next
280
+ end
281
+
282
+ # After sending a GOAWAY frame, the sender can discard frames
283
+ # for new streams. However, any frames that alter connection
284
+ # state cannot be completely ignored. For instance, HEADERS,
285
+ # PUSH_PROMISE and CONTINUATION frames MUST be minimally
286
+ # processed to ensure a consistent compression state
287
+ decode_headers(frame)
288
+ # After a GOAWAY, HEADERS may only complete a tracked stream at
289
+ # or below the highest id seen (Section 6.8); anything else is
290
+ # discarded - decoded above, so the compression state is intact.
291
+ # Skip only this frame: later ones may serve completing streams.
292
+ next if closed? && (stream_id > @last_stream_id || !@streams.key?(stream_id))
293
+
294
+ stream = @streams[stream_id]
295
+ if stream.nil?
296
+ verify_pseudo_headers(frame)
297
+
298
+ verify_stream_order(stream_id)
299
+ stream = activate_stream(
300
+ id: stream_id,
301
+ weight: frame[:weight] || DEFAULT_WEIGHT,
302
+ dependency: frame[:dependency] || 0,
303
+ exclusive: frame[:exclusive] || false
304
+ )
305
+ emit(:stream, stream)
306
+ end
307
+
308
+ stream << frame
309
+
310
+ when :push_promise
311
+ # @type var frame: push_promise_frame
312
+ # The last frame in a sequence of PUSH_PROMISE/CONTINUATION
313
+ # frames MUST have the END_HEADERS flag set
314
+ unless frame[:flags].anybits?(END_HEADERS)
315
+ @continuation << frame
316
+ return
317
+ end
318
+
319
+ decode_headers(frame)
320
+ next if closed?
321
+
322
+ # PUSH_PROMISE frames MUST be associated with an existing, peer-
323
+ # initiated stream... A receiver MUST treat the receipt of a
324
+ # PUSH_PROMISE on a stream that is neither "open" nor
325
+ # "half-closed (local)" as a connection error (Section 5.4.1) of
326
+ # type PROTOCOL_ERROR. Similarly, a receiver MUST treat the
327
+ # receipt of a PUSH_PROMISE that promises an illegal stream
328
+ # identifier (Section 5.1.1) (that is, an identifier for a stream
329
+ # that is not currently in the "idle" state) as a connection error
330
+ # (Section 5.4.1) of type PROTOCOL_ERROR, unless the receiver
331
+ # recently sent a RST_STREAM frame to cancel the associated stream.
332
+ parent = @streams[stream_id]
333
+ pid = frame[:promise_stream]
334
+
335
+ # if PUSH parent is recently closed, RST_STREAM the push
336
+ if @streams_recently_closed[stream_id]
337
+ send(type: :rst_stream, stream: pid, error: :refused_stream)
338
+ return
339
+ end
340
+
341
+ connection_error(msg: "missing parent ID") if parent.nil?
342
+
343
+ unless STREAM_OPEN_STATES.include?(parent.state)
344
+ # An endpoint might receive a PUSH_PROMISE frame after it sends
345
+ # RST_STREAM. PUSH_PROMISE causes a stream to become "reserved".
346
+ # The RST_STREAM does not cancel any promised stream. Therefore, if
347
+ # promised streams are not desired, a RST_STREAM can be used to
348
+ # close any of those streams.
349
+ if parent.closed == :local_rst
350
+ # We can either (a) 'resurrect' the parent, or (b) RST_STREAM
351
+ # ... sticking with (b), might need to revisit later.
352
+ send(type: :rst_stream, stream: pid, error: :refused_stream)
353
+ else
354
+ connection_error
355
+ end
356
+ end
357
+
358
+ _verify_pseudo_headers(frame, REQUEST_MANDATORY_HEADERS)
359
+ verify_stream_order(pid)
360
+ stream = activate_stream(id: pid, parent: parent)
361
+ emit(:promise, stream)
362
+ stream << frame
363
+ else
364
+ if (stream = @streams[stream_id])
365
+ stream << frame
366
+ if frame_type == :data
367
+ update_local_window(frame)
368
+ calculate_window_update(@local_window_limit)
369
+ end
370
+ else
371
+ case frame_type
372
+ # Priority signaling is deprecated (RFC 9113 Section 5.3.2), but
373
+ # a PRIORITY frame may still name a stream id not opened yet:
374
+ # activate it, so the priority sticks if the stream opens.
375
+ when :priority
376
+ # After a GOAWAY, a PRIORITY for a stream already used and
377
+ # closed must not resurrect it: reprioritizing a closed
378
+ # parent is a no-op here, and a phantom stream would hold
379
+ # the draining connection open.
380
+ next if closed? && stream_id <= @last_stream_id
381
+
382
+ stream = activate_stream(
383
+ id: stream_id,
384
+ weight: frame[:weight] || DEFAULT_WEIGHT,
385
+ dependency: frame[:dependency] || 0,
386
+ exclusive: frame[:exclusive] || false
387
+ )
388
+
389
+ emit(:stream, stream)
390
+ stream << frame
391
+
392
+ # WINDOW_UPDATE can be sent by a peer that has sent a frame
393
+ # bearing the END_STREAM flag. This means that a receiver could
394
+ # receive a WINDOW_UPDATE frame on a "half-closed (remote)" or
395
+ # "closed" stream. A receiver MUST NOT treat this as an error
396
+ # (see Section 5.1).
397
+ when :window_update
398
+ unless @streams_recently_closed.key?(stream_id)
399
+ connection_error(:protocol_error, msg: "sent window update on idle stream")
400
+ end
401
+ process_window_update(frame: frame, encode: true)
402
+ # Endpoints MUST ignore
403
+ # WINDOW_UPDATE or RST_STREAM frames received in this state (closed), though
404
+ # endpoints MAY choose to treat frames that arrive a significant
405
+ # time after sending END_STREAM as a connection error.
406
+ when :rst_stream
407
+ unless @streams_recently_closed.key?(stream_id)
408
+ connection_error(:protocol_error, msg: "sent window update on idle stream")
409
+ end
410
+ else
411
+ # An endpoint that receives an unexpected stream identifier
412
+ # MUST respond with a connection error of type PROTOCOL_ERROR.
413
+ connection_error(msg: "stream does not exist")
414
+ end
415
+ end
416
+ end
417
+ end
418
+ end
419
+ rescue StandardError => e
420
+ raise if e.is_a?(Error::Error)
421
+
422
+ connection_error(e: e)
423
+ end
424
+
425
+ def <<(data)
426
+ receive(data)
427
+ end
428
+
429
+ private
430
+
431
+ # Send an outgoing frame. DATA frames are subject to connection flow
432
+ # control and may be split and / or buffered based on current window size.
433
+ # All other frames are sent immediately.
434
+ #
435
+ # @note all frames are currently delivered in FIFO order.
436
+ # @param frame [Hash]
437
+ def send(frame)
438
+ emit(:frame_sent, frame)
439
+
440
+ frame_type = frame[:type] #: Symbol
441
+
442
+ case frame_type
443
+ when :data
444
+ #: @type var frame: data_frame
445
+ send_data(frame, true)
446
+ when :headers, :push_promise
447
+ # HEADERS and PUSH_PROMISE may generate CONTINUATION. Also send
448
+ # RST_STREAM that are not protocol errors
449
+ #: @type var frame: headers_frame | push_promise_frame
450
+ encode_headers(frame) # HEADERS and PUSH_PROMISE may create more than one frame
451
+ else
452
+ if frame_type == :rst_stream && frame[:error] == :protocol_error
453
+ # An endpoint can end a connection at any time. In particular, an
454
+ # endpoint MAY choose to treat a stream error as a connection error.
455
+
456
+ goaway(:protocol_error)
457
+ end
458
+ #: @type var frame: connection_frame
459
+ encode(frame)
460
+ end
461
+ end
462
+
463
+ # Applies HTTP 2.0 binary encoding to the frame.
464
+ #
465
+ # @param frame [Hash]
466
+ def encode(frame)
467
+ emit(:frame, @framer.generate(frame))
468
+ end
469
+
470
+ # Check if frame is a connection frame: SETTINGS, PING, GOAWAY, and any
471
+ # frame addressed to stream ID = 0.
472
+ #
473
+ # @param frame [Hash]
474
+ # @return [Boolean]
475
+ def connection_frame?(frame)
476
+ frame[:stream].zero? || CONNECTION_FRAME_TYPES.include?(frame[:type])
477
+ end
478
+
479
+ # Process received connection frame (stream ID = 0).
480
+ # - Handle SETTINGS updates
481
+ # - Connection flow control (WINDOW_UPDATE)
482
+ # - Emit PONG auto-reply to PING frames
483
+ # - Mark connection as closed on GOAWAY
484
+ #
485
+ # @param frame [Hash]
486
+ def connection_management(frame)
487
+ frame_type = frame[:type]
488
+
489
+ case @state
490
+ when :waiting_connection_preface
491
+ # The first frame MUST be a SETTINGS frame at the start of a connection.
492
+ connection_error unless frame[:type] == :settings
493
+
494
+ @state = :connected
495
+ connection_settings(frame)
496
+
497
+ when :connected, :closing
498
+ case frame_type
499
+ when :settings
500
+ # @type var frame: settings_frame
501
+ connection_settings(frame)
502
+ when :window_update
503
+ # @type var frame: window_update_frame
504
+ process_window_update(frame: frame, encode: true)
505
+ when :ping
506
+ ping_management(frame)
507
+ when :goaway
508
+ # @type var frame: goaway_frame
509
+ # Receivers of a GOAWAY frame MUST NOT open additional streams on
510
+ # the connection, although a new connection can be established
511
+ # for new streams.
512
+ if frame[:error] == :no_error && !@streams.empty?
513
+ # A graceful GOAWAY lets tracked streams complete before the
514
+ # connection closes (Section 6.8).
515
+ @state = :closing
516
+ else
517
+ close!
518
+ end
519
+ emit(:goaway, frame[:last_stream], frame[:error], frame[:payload])
520
+ when :altsvc
521
+ # @type var frame: altsvc_frame
522
+ origin = frame[:origin]
523
+ # 4. The ALTSVC HTTP/2 Frame
524
+ # An ALTSVC frame on stream 0 with empty (length 0) "Origin"
525
+ # information is invalid and MUST be ignored.
526
+ emit(:altsvc, frame) if origin && !origin.empty?
527
+ when :origin
528
+ # @type var frame: origin_frame
529
+ return if @h2c_upgrade || !frame[:flags].zero?
530
+
531
+ frame[:payload].each do |orig|
532
+ emit(:origin, orig)
533
+ end
534
+ else
535
+ connection_error
536
+ end
537
+ when :closed
538
+ case frame_type
539
+ when :goaway
540
+ # 6.8. GOAWAY
541
+ # An endpoint MAY send multiple GOAWAY frames if circumstances change.
542
+ when :ping
543
+ ping_management(frame)
544
+ else
545
+ connection_error if (Process.clock_gettime(Process::CLOCK_MONOTONIC) - @closed_since) > 15
546
+ end
547
+ else
548
+ connection_error
549
+ end
550
+ end
551
+
552
+ def ping_management(frame)
553
+ if frame[:flags].anybits?(ACK)
554
+ emit(:ack, frame[:payload])
555
+ else
556
+ send(type: :ping, stream: 0, flags: ACK, payload: frame[:payload])
557
+ end
558
+ end
559
+
560
+ # Validate settings parameters. See sepc Section 6.5.2.
561
+ #
562
+ # @param role [Symbol] The sender's role: :client or :server
563
+ # @return nil if no error. Exception object in case of any error.
564
+ def validate_settings(role, settings)
565
+ settings.each do |key, v|
566
+ case key
567
+ when :settings_enable_push
568
+ case role
569
+ when :server
570
+ # Section 8.2
571
+ # Clients MUST reject any attempt to change the
572
+ # SETTINGS_ENABLE_PUSH setting to a value other than 0 by treating the
573
+ # message as a connection error (Section 5.4.1) of type PROTOCOL_ERROR.
574
+ next if v.zero?
575
+
576
+ connection_error(:protocol_error, msg: "invalid #{key} value")
577
+ when :client
578
+ # Any value other than 0 or 1 MUST be treated as a
579
+ # connection error (Section 5.4.1) of type PROTOCOL_ERROR.
580
+ next if v.zero? || v == 1
581
+
582
+ connection_error(:protocol_error, msg: "invalid #{key} value")
583
+ end
584
+ when :settings_initial_window_size
585
+ # Values above the maximum flow control window size of 2^31-1 MUST
586
+ # be treated as a connection error (Section 5.4.1) of type
587
+ # FLOW_CONTROL_ERROR.
588
+ next if v <= 0x7fffffff
589
+
590
+ connection_error(:flow_control_error, msg: "invalid #{key} value")
591
+ when :settings_max_frame_size
592
+ # The initial value is 2^14 (16,384) octets. The value advertised
593
+ # by an endpoint MUST be between this initial value and the maximum
594
+ # allowed frame size (2^24-1 or 16,777,215 octets), inclusive.
595
+ # Values outside this range MUST be treated as a connection error
596
+ # (Section 5.4.1) of type PROTOCOL_ERROR.
597
+ next if v.between?(16_384, 16_777_215)
598
+
599
+ connection_error(:protocol_error, msg: "invalid #{key} value")
600
+ # when :settings_max_concurrent_streams
601
+ # Any value is valid
602
+ # when :settings_header_table_size
603
+ # Any value is valid
604
+ # when :settings_max_header_list_size
605
+ # Any value is valid
606
+ # else # ignore unknown settings
607
+ end
608
+ end
609
+ end
610
+
611
+ # Update connection settings based on parameters set by the peer.
612
+ #
613
+ # @param frame [Hash]
614
+ def connection_settings(frame)
615
+ # Apply settings.
616
+ # side =
617
+ # local: previously sent and pended our settings should be effective
618
+ # remote: just received peer settings should immediately be effective
619
+ if frame[:flags].anybits?(ACK)
620
+ # Process pending settings we have sent.
621
+ settings = @pending_settings.shift
622
+ side = :local
623
+ else
624
+ settings = frame[:payload]
625
+ validate_settings(@remote_role, settings)
626
+ side = :remote
627
+ end
628
+
629
+ settings.each do |key, v|
630
+ case side
631
+ when :local
632
+ @local_settings[key] = v
633
+ when :remote
634
+ @remote_settings[key] = v
635
+ end
636
+
637
+ case key
638
+ when :settings_max_concurrent_streams
639
+ # Do nothing.
640
+ # The value controls at the next attempt of stream creation.
641
+
642
+ when :settings_initial_window_size
643
+ # A change to SETTINGS_INITIAL_WINDOW_SIZE could cause the available
644
+ # space in a flow control window to become negative. A sender MUST
645
+ # track the negative flow control window, and MUST NOT send new flow
646
+ # controlled frames until it receives WINDOW_UPDATE frames that cause
647
+ # the flow control window to become positive.
648
+ case side
649
+ when :local
650
+ @local_window = @local_window - @local_window_limit + v
651
+ @streams.each_value do |stream|
652
+ stream.emit(:local_window, stream.local_window - @local_window_limit + v)
653
+ end
654
+
655
+ @local_window_limit = v
656
+ when :remote
657
+ # can adjust the initial window size for new streams by including a
658
+ # value for SETTINGS_INITIAL_WINDOW_SIZE in the SETTINGS frame.
659
+ # The connection flow-control window can only be changed using
660
+ # WINDOW_UPDATE frames.
661
+ @streams.each_value do |stream|
662
+ # Event name is :window, not :remote_window
663
+ stream.emit(:window, stream.remote_window - @remote_window_limit + v)
664
+ end
665
+
666
+ @remote_window_limit = v
667
+ end
668
+
669
+ when :settings_header_table_size
670
+ # Setting header table size might cause some headers evicted
671
+ case side
672
+ when :local
673
+ @compressor.table_size = v
674
+ when :remote
675
+ @decompressor.table_size = v
676
+ end
677
+
678
+ when :settings_enable_push
679
+ # nothing to do
680
+
681
+ when :settings_max_frame_size
682
+ @framer.remote_max_frame_size = v
683
+
684
+ # else # ignore unknown settings
685
+ end
686
+ end
687
+
688
+ case side
689
+ when :local
690
+ # Received a settings_ack. Notify application layer.
691
+ emit(:settings_ack, frame, @pending_settings.size)
692
+ when :remote
693
+ unless @state == :closed || @h2c_upgrade == :start
694
+ # Send ack to peer
695
+ send(type: :settings, stream: 0, payload: EMPTY, flags: ACK)
696
+ # when initial window size changes, we try to flush any buffered
697
+ # data.
698
+ @streams.each_value(&:flush)
699
+ end
700
+ end
701
+ end
702
+
703
+ # Decode headers payload and update connection decompressor state.
704
+ #
705
+ # The receiver endpoint reassembles the header block by concatenating
706
+ # the individual fragments, then decompresses the block to reconstruct
707
+ # the header set - aka, header payloads are buffered until END_HEADERS,
708
+ # or an END_PROMISE flag is seen.
709
+ #
710
+ # @param frame [Hash]
711
+ def decode_headers(frame)
712
+ frame[:payload] = @decompressor.decode(frame[:payload], frame) if frame[:payload].is_a?(String)
713
+ rescue CompressionError => e
714
+ connection_error(:compression_error, e: e)
715
+ rescue ProtocolError => e
716
+ connection_error(:protocol_error, e: e)
717
+ rescue StandardError => e
718
+ connection_error(:internal_error, e: e)
719
+ end
720
+
721
+ # Encode headers payload and update connection compressor state.
722
+ #
723
+ # @param headers_frame [Hash]
724
+ def encode_headers(headers_frame)
725
+ headers_payload = headers_frame[:payload]
726
+ begin
727
+ payload = headers_payload.is_a?(String) ? headers_payload : @compressor.encode(headers_payload)
728
+ rescue StandardError => e
729
+ connection_error(:compression_error, e: e)
730
+ end
731
+
732
+ #: @type var payload: String
733
+ headers_frame[:payload] = payload
734
+
735
+ max_frame_size = @remote_settings.settings_max_frame_size
736
+
737
+ # if single frame, return immediately
738
+ if payload.bytesize <= max_frame_size
739
+ encode(headers_frame)
740
+ return
741
+ end
742
+
743
+ # split into multiple CONTINUATION frames
744
+ total = payload.bytesize
745
+ headers_frame[:flags] ^= END_HEADERS
746
+ headers_frame[:payload] = payload.byteslice(0, max_frame_size)
747
+ # payload = payload.byteslice(max_frame_size..-1)
748
+ offset = max_frame_size
749
+
750
+ # emit first HEADERS frame
751
+ encode(headers_frame)
752
+
753
+ stream_id = headers_frame[:stream]
754
+
755
+ while offset < total
756
+ chunk_end = offset + max_frame_size
757
+ is_last = chunk_end >= total
758
+
759
+ continuation_frame = {
760
+ type: :continuation,
761
+ flags: is_last ? END_HEADERS : 0,
762
+ stream: stream_id,
763
+ payload: payload.byteslice(offset, max_frame_size)
764
+ } #: continuation_frame
765
+
766
+ encode(continuation_frame)
767
+ offset = chunk_end
768
+ end
769
+ end
770
+
771
+ # Activates new incoming or outgoing stream and registers appropriate
772
+ # connection managemet callbacks.
773
+ #
774
+ # @param id [Integer]
775
+ # @param max_concurrent_streams [Symbol] threshold to cap the number of active streams with.
776
+ # @param priority [Integer]
777
+ # @param window [Integer]
778
+ # @param parent [Stream]
779
+ def activate_stream(id:, max_concurrent_streams: @local_settings.settings_max_concurrent_streams, **args)
780
+ connection_error(msg: "Stream ID already exists") if @streams.key?(id)
781
+
782
+ # SETTINGS_MAX_CONCURRENT_STREAMS limits the number of concurrent streams that the sender
783
+ # of the setting permits the receiver to create (RFC 9113, section 5.1.2), so the bounding
784
+ # limit is the one advertised by the endpoint that did *not* open the stream.
785
+ raise StreamLimitExceeded if @active_stream_count >= max_concurrent_streams
786
+
787
+ stream = Stream.new(connection: self, id: id, **args)
788
+
789
+ stream.once(:close) do
790
+ @streams.delete(id)
791
+
792
+ # A graceful GOAWAY leaves the connection :closing until the
793
+ # tracked streams complete (Section 6.8); the last one to close
794
+ # moves it to its terminal state.
795
+ close! if @state == :closing && @streams.empty?
796
+
797
+ # Store a reference to the closed stream, such that we can respond
798
+ # to any in-flight frames while close is registered on both sides.
799
+ # References to such streams will be purged whenever another stream
800
+ # is closed, with a minimum of 15s RTT time window.
801
+ now = Process.clock_gettime(Process::CLOCK_MONOTONIC)
802
+
803
+ # forego recently closed recycling if empty or the first element
804
+ # hasn't expired yet (it's ordered).
805
+ if @oldest_stream_recently_closed && (now - @oldest_stream_recently_closed) > 15
806
+ new_oldest = nil
807
+ # discards all streams which have closed for a while.
808
+ # TODO: use a drop_while! variant whenever there is one.
809
+ @streams_recently_closed.delete_if do |_, since|
810
+ unless (now - since) > 15
811
+ new_oldest ||= since
812
+ break
813
+ end
814
+
815
+ true
816
+ end
817
+ @oldest_stream_recently_closed = new_oldest
818
+ else
819
+ @oldest_stream_recently_closed ||= now
820
+ end
821
+
822
+ @streams_recently_closed[id] = now
823
+ end
824
+
825
+ stream.on(:frame, &method(:send))
826
+ @streams[id] = stream
827
+ end
828
+
829
+ def close!
830
+ @state = :closed
831
+ @closed_since = Process.clock_gettime(Process::CLOCK_MONOTONIC)
832
+ end
833
+
834
+ def verify_stream_order(id)
835
+ return unless id.odd?
836
+
837
+ connection_error(msg: "Stream ID smaller than previous") if @last_stream_id >= id
838
+ @last_stream_id = id
839
+ end
840
+
841
+ def _verify_pseudo_headers(frame, mandatory_headers)
842
+ headers = frame[:payload]
843
+ return if headers.is_a?(String)
844
+
845
+ pseudo_headers = headers.take_while do |field, value|
846
+ # use this loop to validate pseudo-headers
847
+ connection_error(:protocol_error, msg: "path is empty") if field == ":path" && value.empty?
848
+ field.start_with?(":")
849
+ end.map(&:first)
850
+ return if mandatory_headers.size == pseudo_headers.size &&
851
+ (mandatory_headers - pseudo_headers).empty?
852
+
853
+ connection_error(:protocol_error, msg: "invalid pseudo-headers")
854
+ end
855
+
856
+ # Emit GOAWAY error indicating to peer that the connection is being
857
+ # aborted, and once sent, raise a local exception.
858
+ #
859
+ # @param error [Symbol]
860
+ # @option error [Symbol] :no_error
861
+ # @option error [Symbol] :internal_error
862
+ # @option error [Symbol] :flow_control_error
863
+ # @option error [Symbol] :stream_closed
864
+ # @option error [Symbol] :frame_too_large
865
+ # @option error [Symbol] :compression_error
866
+ # @param msg [String]
867
+ def connection_error(error = :protocol_error, msg: nil, e: nil)
868
+ goaway(error) unless @state == :closed || @state == :new
869
+
870
+ @state = :closed
871
+ @error = error
872
+ msg ||= e ? e.message : "protocol error"
873
+ backtrace = e ? e.backtrace : nil
874
+ raise Error.types[error], msg, backtrace
875
+ end
876
+ alias error connection_error
877
+
878
+ def manage_state(_)
879
+ yield
880
+ end
881
+ end
882
+ end