cybrid_api_id_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 (713) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +10 -42
  3. data/README.md +22 -13
  4. data/cybrid_api_id_ruby.gemspec +10 -4
  5. data/docs/BankApplicationsIdpApi.md +20 -20
  6. data/docs/CustomerTokensIdpApi.md +4 -4
  7. data/docs/OrganizationApplicationsIdpApi.md +20 -20
  8. data/docs/UsersIdpApi.md +20 -20
  9. data/lib/cybrid_api_id_ruby/api/bank_applications_idp_api.rb +12 -12
  10. data/lib/cybrid_api_id_ruby/api/customer_tokens_idp_api.rb +4 -4
  11. data/lib/cybrid_api_id_ruby/api/organization_applications_idp_api.rb +12 -12
  12. data/lib/cybrid_api_id_ruby/api/users_idp_api.rb +12 -12
  13. data/lib/cybrid_api_id_ruby/api_client.rb +82 -104
  14. data/lib/cybrid_api_id_ruby/api_error.rb +3 -2
  15. data/lib/cybrid_api_id_ruby/configuration.rb +76 -60
  16. data/lib/cybrid_api_id_ruby/models/application_idp_model.rb +25 -20
  17. data/lib/cybrid_api_id_ruby/models/application_list_idp_model.rb +23 -20
  18. data/lib/cybrid_api_id_ruby/models/application_with_secret_idp_model.rb +28 -22
  19. data/lib/cybrid_api_id_ruby/models/customer_token_idp_model.rb +15 -20
  20. data/lib/cybrid_api_id_ruby/models/error_response_idp_model.rb +21 -20
  21. data/lib/cybrid_api_id_ruby/models/patch_application_idp_model.rb +21 -22
  22. data/lib/cybrid_api_id_ruby/models/patch_user_idp_model.rb +17 -20
  23. data/lib/cybrid_api_id_ruby/models/post_bank_application_idp_model.rb +23 -22
  24. data/lib/cybrid_api_id_ruby/models/post_customer_token_idp_model.rb +19 -20
  25. data/lib/cybrid_api_id_ruby/models/post_organization_application_idp_model.rb +17 -20
  26. data/lib/cybrid_api_id_ruby/models/post_user_idp_model.rb +17 -20
  27. data/lib/cybrid_api_id_ruby/models/user_idp_model.rb +33 -26
  28. data/lib/cybrid_api_id_ruby/models/user_list_idp_model.rb +23 -20
  29. data/lib/cybrid_api_id_ruby/version.rb +3 -3
  30. data/lib/cybrid_api_id_ruby.rb +2 -3
  31. data/spec/api/bank_applications_idp_api_spec.rb +7 -7
  32. data/spec/api/customer_tokens_idp_api_spec.rb +3 -3
  33. data/spec/api/organization_applications_idp_api_spec.rb +7 -7
  34. data/spec/api/users_idp_api_spec.rb +7 -7
  35. data/spec/models/application_idp_model_spec.rb +11 -9
  36. data/spec/models/application_list_idp_model_spec.rb +9 -7
  37. data/spec/models/application_with_secret_idp_model_spec.rb +12 -10
  38. data/spec/models/customer_token_idp_model_spec.rb +6 -4
  39. data/spec/models/error_response_idp_model_spec.rb +8 -6
  40. data/spec/models/patch_application_idp_model_spec.rb +7 -5
  41. data/spec/models/patch_user_idp_model_spec.rb +6 -4
  42. data/spec/models/post_bank_application_idp_model_spec.rb +8 -6
  43. data/spec/models/post_customer_token_idp_model_spec.rb +7 -5
  44. data/spec/models/post_organization_application_idp_model_spec.rb +7 -5
  45. data/spec/models/post_user_idp_model_spec.rb +7 -5
  46. data/spec/models/user_idp_model_spec.rb +12 -10
  47. data/spec/models/user_list_idp_model_spec.rb +9 -7
  48. data/spec/spec_helper.rb +2 -2
  49. data/vendor/bundle/ruby/4.0.0/cache/http-2-1.2.3.gem +0 -0
  50. data/vendor/bundle/ruby/4.0.0/cache/httpx-1.8.4.gem +0 -0
  51. data/vendor/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/byebug-13.0.0/gem_make.out +5 -5
  52. data/vendor/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/date-3.5.1/gem_make.out +5 -5
  53. data/vendor/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/io-console-0.9.4/gem_make.out +5 -5
  54. data/vendor/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/jaro_winkler-1.5.6/gem_make.out +5 -5
  55. data/vendor/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/psych-5.5.0/gem_make.out +5 -5
  56. data/vendor/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/racc-1.8.1/gem_make.out +5 -5
  57. data/vendor/bundle/ruby/4.0.0/extensions/x86_64-linux/4.0.0/stringio-3.2.0/gem_make.out +5 -5
  58. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/LICENSE +21 -0
  59. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/README.md +298 -0
  60. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/base64.rb +45 -0
  61. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/client.rb +82 -0
  62. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/connection.rb +882 -0
  63. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/emitter.rb +40 -0
  64. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/error.rb +67 -0
  65. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/extensions.rb +84 -0
  66. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/flow_buffer.rb +173 -0
  67. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/framer.rb +510 -0
  68. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/header/compressor.rb +156 -0
  69. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/header/decompressor.rb +133 -0
  70. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/header/encoding_context.rb +313 -0
  71. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/header/huffman.rb +326 -0
  72. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/header/huffman_statemachine.rb +274 -0
  73. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/header.rb +35 -0
  74. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/server.rb +160 -0
  75. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/settings.rb +58 -0
  76. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/stream.rb +695 -0
  77. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2/version.rb +5 -0
  78. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/lib/http/2.rb +20 -0
  79. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/2.rbs +154 -0
  80. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/client.rbs +11 -0
  81. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/connection.rbs +102 -0
  82. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/emitter.rbs +11 -0
  83. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/error.rbs +35 -0
  84. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/extensions.rbs +15 -0
  85. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/flow_buffer.rbs +23 -0
  86. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/frame_buffer.rbs +17 -0
  87. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/framer.rbs +64 -0
  88. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/header/compressor.rbs +30 -0
  89. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/header/decompressor.rbs +25 -0
  90. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/header/encoding_context.rbs +56 -0
  91. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/header/huffman.rbs +27 -0
  92. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/header.rbs +30 -0
  93. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/server.rbs +14 -0
  94. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/settings.rbs +71 -0
  95. data/vendor/bundle/ruby/4.0.0/gems/http-2-1.2.3/sig/stream.rbs +93 -0
  96. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/LICENSE.txt +191 -0
  97. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/README.md +164 -0
  98. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_0_1.md +7 -0
  99. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_0_2.md +9 -0
  100. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_0_3.md +9 -0
  101. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_0_4.md +7 -0
  102. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_0_5.md +5 -0
  103. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_10_0.md +66 -0
  104. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_10_1.md +37 -0
  105. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_10_2.md +5 -0
  106. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_11_0.md +74 -0
  107. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_11_1.md +5 -0
  108. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_11_2.md +5 -0
  109. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_11_3.md +5 -0
  110. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_12_0.md +55 -0
  111. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_13_0.md +58 -0
  112. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_13_1.md +5 -0
  113. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_13_2.md +9 -0
  114. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_14_0.md +79 -0
  115. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_14_1.md +7 -0
  116. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_14_2.md +6 -0
  117. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_14_3.md +5 -0
  118. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_14_4.md +5 -0
  119. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_14_5.md +11 -0
  120. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_15_0.md +53 -0
  121. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_15_1.md +8 -0
  122. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_15_2.md +9 -0
  123. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_15_3.md +5 -0
  124. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_15_4.md +5 -0
  125. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_16_0.md +93 -0
  126. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_16_1.md +5 -0
  127. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_17_0.md +49 -0
  128. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_18_0.md +69 -0
  129. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_18_1.md +12 -0
  130. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_18_2.md +10 -0
  131. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_18_3.md +7 -0
  132. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_18_4.md +14 -0
  133. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_18_5.md +10 -0
  134. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_18_6.md +5 -0
  135. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_18_7.md +5 -0
  136. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_19_0.md +39 -0
  137. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_19_1.md +5 -0
  138. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_19_2.md +7 -0
  139. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_19_3.md +6 -0
  140. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_19_4.md +14 -0
  141. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_19_5.md +13 -0
  142. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_19_6.md +5 -0
  143. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_19_7.md +5 -0
  144. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_19_8.md +5 -0
  145. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_1_0.md +9 -0
  146. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_20_0.md +36 -0
  147. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_20_1.md +5 -0
  148. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_20_2.md +7 -0
  149. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_20_3.md +6 -0
  150. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_20_4.md +17 -0
  151. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_20_5.md +3 -0
  152. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_21_0.md +96 -0
  153. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_21_1.md +12 -0
  154. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_22_0.md +13 -0
  155. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_22_1.md +11 -0
  156. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_22_2.md +5 -0
  157. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_22_3.md +55 -0
  158. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_22_4.md +6 -0
  159. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_22_5.md +6 -0
  160. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_23_0.md +42 -0
  161. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_23_1.md +5 -0
  162. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_23_2.md +5 -0
  163. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_23_3.md +6 -0
  164. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_23_4.md +5 -0
  165. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_24_0.md +48 -0
  166. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_24_1.md +12 -0
  167. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_24_2.md +12 -0
  168. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_24_3.md +12 -0
  169. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_24_4.md +18 -0
  170. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_24_5.md +6 -0
  171. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_24_6.md +5 -0
  172. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_24_7.md +10 -0
  173. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_2_0.md +5 -0
  174. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_2_1.md +16 -0
  175. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_3_0.md +12 -0
  176. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_3_1.md +6 -0
  177. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_4_0.md +51 -0
  178. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_4_1.md +3 -0
  179. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_5_0.md +15 -0
  180. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_5_1.md +14 -0
  181. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_6_0.md +5 -0
  182. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_6_1.md +6 -0
  183. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_6_2.md +6 -0
  184. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_6_3.md +13 -0
  185. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_6_4.md +21 -0
  186. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_6_5.md +22 -0
  187. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_6_6.md +19 -0
  188. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_6_7.md +5 -0
  189. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_7_0.md +46 -0
  190. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_8_0.md +27 -0
  191. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_8_1.md +8 -0
  192. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_8_2.md +7 -0
  193. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/0_9_0.md +38 -0
  194. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_0_0.md +60 -0
  195. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_0_1.md +5 -0
  196. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_0_2.md +7 -0
  197. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_1_0.md +32 -0
  198. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_1_1.md +17 -0
  199. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_1_2.md +12 -0
  200. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_1_3.md +18 -0
  201. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_1_4.md +6 -0
  202. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_1_5.md +12 -0
  203. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_2_0.md +49 -0
  204. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_2_1.md +6 -0
  205. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_2_2.md +10 -0
  206. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_2_3.md +16 -0
  207. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_2_4.md +8 -0
  208. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_2_5.md +7 -0
  209. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_2_6.md +13 -0
  210. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_3_0.md +18 -0
  211. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_3_1.md +17 -0
  212. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_3_2.md +6 -0
  213. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_3_3.md +5 -0
  214. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_3_4.md +6 -0
  215. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_4_0.md +43 -0
  216. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_4_1.md +19 -0
  217. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_4_2.md +20 -0
  218. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_4_3.md +11 -0
  219. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_4_4.md +14 -0
  220. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_5_0.md +126 -0
  221. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_5_1.md +6 -0
  222. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_6_0.md +50 -0
  223. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_6_1.md +17 -0
  224. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_6_2.md +11 -0
  225. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_6_3.md +47 -0
  226. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_7_0.md +149 -0
  227. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_7_1.md +20 -0
  228. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_7_2.md +6 -0
  229. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_7_3.md +29 -0
  230. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_7_4.md +42 -0
  231. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_7_5.md +10 -0
  232. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_7_6.md +24 -0
  233. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_7_7.md +17 -0
  234. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_7_8.md +5 -0
  235. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_8_0.md +100 -0
  236. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_8_1.md +27 -0
  237. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_8_2.md +30 -0
  238. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_8_3.md +9 -0
  239. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/doc/release_notes/1_8_4.md +13 -0
  240. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/adapters/datadog.rb +343 -0
  241. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/adapters/faraday.rb +293 -0
  242. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/adapters/sentry.rb +121 -0
  243. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/adapters/webmock.rb +190 -0
  244. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/altsvc.rb +167 -0
  245. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/base64.rb +27 -0
  246. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/buffer.rb +66 -0
  247. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/callbacks.rb +35 -0
  248. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/chainable.rb +106 -0
  249. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/connection/http1.rb +416 -0
  250. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/connection/http2.rb +601 -0
  251. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/connection.rb +1196 -0
  252. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/domain_name.rb +145 -0
  253. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/errors.rb +121 -0
  254. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/extensions.rb +45 -0
  255. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/headers.rb +176 -0
  256. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/io/ssl.rb +184 -0
  257. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/io/tcp.rb +262 -0
  258. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/io/udp.rb +62 -0
  259. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/io/unix.rb +75 -0
  260. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/io.rb +11 -0
  261. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/loggable.rb +75 -0
  262. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/options.rb +616 -0
  263. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/parser/http1.rb +202 -0
  264. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/auth/basic.rb +20 -0
  265. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/auth/digest.rb +149 -0
  266. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/auth/ntlm.rb +35 -0
  267. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/auth/socks5.rb +22 -0
  268. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/auth.rb +225 -0
  269. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/aws_sdk_authentication.rb +110 -0
  270. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/aws_sigv4.rb +239 -0
  271. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/basic_auth.rb +29 -0
  272. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/brotli.rb +78 -0
  273. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/cache/file_store.rb +141 -0
  274. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/cache/store.rb +33 -0
  275. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/cache.rb +221 -0
  276. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/callbacks.rb +153 -0
  277. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/circuit_breaker/circuit.rb +101 -0
  278. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/circuit_breaker/circuit_store.rb +53 -0
  279. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/circuit_breaker.rb +147 -0
  280. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/content_digest.rb +204 -0
  281. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/cookies/cookie.rb +197 -0
  282. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/cookies/jar.rb +170 -0
  283. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/cookies/set_cookie_parser.rb +143 -0
  284. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/cookies.rb +111 -0
  285. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/digest_auth.rb +72 -0
  286. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/expect.rb +150 -0
  287. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/fiber_concurrency.rb +279 -0
  288. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/follow_redirects.rb +265 -0
  289. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/grpc/call.rb +63 -0
  290. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/grpc/grpc_encoding.rb +90 -0
  291. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/grpc/message.rb +55 -0
  292. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/grpc.rb +282 -0
  293. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/h2c.rb +117 -0
  294. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/internal_telemetry.rb +107 -0
  295. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/ntlm_auth.rb +64 -0
  296. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/ntlm_v2_auth.rb +92 -0
  297. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/oauth.rb +336 -0
  298. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/persistent.rb +111 -0
  299. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/proxy/http.rb +236 -0
  300. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/proxy/socks4.rb +135 -0
  301. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/proxy/socks5.rb +194 -0
  302. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/proxy/ssh.rb +94 -0
  303. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/proxy.rb +370 -0
  304. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/push_promise.rb +81 -0
  305. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/query.rb +35 -0
  306. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/rate_limiter.rb +60 -0
  307. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/response_cache.rb +268 -0
  308. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/retries.rb +299 -0
  309. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/server_sent_events.rb +158 -0
  310. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/ssrf_filter.rb +161 -0
  311. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/stream.rb +238 -0
  312. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/stream_bidi.rb +410 -0
  313. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/tracing.rb +156 -0
  314. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/upgrade/h2.rb +54 -0
  315. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/upgrade.rb +86 -0
  316. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/webdav.rb +86 -0
  317. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/plugins/xml.rb +76 -0
  318. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/pmatch_extensions.rb +33 -0
  319. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/pool.rb +231 -0
  320. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/punycode.rb +22 -0
  321. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/request/body.rb +161 -0
  322. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/request.rb +387 -0
  323. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/resolver/cache/base.rb +129 -0
  324. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/resolver/cache/file.rb +56 -0
  325. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/resolver/cache/memory.rb +42 -0
  326. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/resolver/cache.rb +18 -0
  327. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/resolver/entry.rb +30 -0
  328. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/resolver/https.rb +326 -0
  329. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/resolver/multi.rb +84 -0
  330. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/resolver/native.rb +603 -0
  331. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/resolver/resolver.rb +213 -0
  332. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/resolver/system.rb +284 -0
  333. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/resolver.rb +111 -0
  334. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/response/body.rb +246 -0
  335. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/response/buffer.rb +115 -0
  336. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/response.rb +331 -0
  337. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/selector.rb +327 -0
  338. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/session.rb +605 -0
  339. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/session_extensions.rb +30 -0
  340. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/timers.rb +134 -0
  341. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/body.rb +43 -0
  342. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/chunker.rb +115 -0
  343. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/deflate.rb +42 -0
  344. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/form.rb +68 -0
  345. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/gzip.rb +76 -0
  346. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/json.rb +70 -0
  347. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/multipart/decoder.rb +141 -0
  348. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/multipart/encoder.rb +120 -0
  349. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/multipart/mime_type_detector.rb +78 -0
  350. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/multipart/part.rb +35 -0
  351. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/multipart.rb +39 -0
  352. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/utils/body_reader.rb +45 -0
  353. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder/utils/deflater.rb +73 -0
  354. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/transcoder.rb +89 -0
  355. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/utils.rb +88 -0
  356. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx/version.rb +5 -0
  357. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/lib/httpx.rb +66 -0
  358. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/altsvc.rbs +41 -0
  359. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/buffer.rbs +27 -0
  360. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/callbacks.rbs +15 -0
  361. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/chainable.rbs +59 -0
  362. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/connection/http1.rbs +89 -0
  363. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/connection/http2.rbs +140 -0
  364. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/connection.rbs +199 -0
  365. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/domain_name.rbs +17 -0
  366. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/errors.rbs +75 -0
  367. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/headers.rbs +49 -0
  368. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/httpx.rbs +29 -0
  369. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/io/ssl.rbs +33 -0
  370. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/io/tcp.rbs +74 -0
  371. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/io/udp.rbs +25 -0
  372. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/io/unix.rbs +26 -0
  373. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/io.rbs +3 -0
  374. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/loggable.rbs +29 -0
  375. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/options.rbs +232 -0
  376. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/parser/http1.rbs +61 -0
  377. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/auth/basic.rbs +17 -0
  378. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/auth/digest.rbs +31 -0
  379. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/auth/ntlm.rbs +22 -0
  380. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/auth/socks5.rbs +18 -0
  381. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/auth.rbs +59 -0
  382. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/aws_sdk_authentication.rbs +43 -0
  383. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/aws_sigv4.rbs +78 -0
  384. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/basic_auth.rbs +15 -0
  385. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/brotli.rbs +27 -0
  386. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/cache/file_store.rbs +21 -0
  387. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/cache/store.rbs +13 -0
  388. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/cache.rbs +69 -0
  389. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/callbacks.rbs +41 -0
  390. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/circuit_breaker.rbs +71 -0
  391. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/compression.rbs +57 -0
  392. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/content_digest.rbs +51 -0
  393. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/cookies/cookie.rbs +56 -0
  394. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/cookies/jar.rbs +37 -0
  395. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/cookies/set_cookie_parser.rbs +22 -0
  396. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/cookies.rbs +30 -0
  397. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/digest_auth.rbs +19 -0
  398. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/expect.rbs +34 -0
  399. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/fiber_concurrency.rbs +61 -0
  400. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/follow_redirects.rbs +47 -0
  401. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/grpc/call.rbs +23 -0
  402. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/grpc/grpc_encoding.rbs +37 -0
  403. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/grpc/message.rbs +17 -0
  404. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/grpc.rbs +65 -0
  405. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/h2c.rbs +27 -0
  406. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/ntlm_auth.rbs +21 -0
  407. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/ntlm_v2_auth.rbs +36 -0
  408. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/oauth.rbs +97 -0
  409. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/persistent.rbs +21 -0
  410. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/proxy/http.rbs +32 -0
  411. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/proxy/socks4.rbs +41 -0
  412. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/proxy/socks5.rbs +49 -0
  413. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/proxy/ssh.rbs +18 -0
  414. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/proxy.rbs +71 -0
  415. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/push_promise.rbs +23 -0
  416. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/query.rbs +18 -0
  417. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/rate_limiter.rbs +15 -0
  418. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/response_cache.rbs +67 -0
  419. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/retries.rbs +80 -0
  420. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/server_sent_events.rbs +45 -0
  421. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/ssrf_filter.rbs +30 -0
  422. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/stream.rbs +64 -0
  423. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/stream_bidi.rbs +67 -0
  424. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/tracing.rbs +41 -0
  425. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/upgrade/h2.rbs +9 -0
  426. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/upgrade.rbs +29 -0
  427. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/webdav.rbs +23 -0
  428. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/plugins/xml.rbs +37 -0
  429. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/pool.rbs +51 -0
  430. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/punycode.rbs +5 -0
  431. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/request/body.rbs +34 -0
  432. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/request.rbs +99 -0
  433. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/resolver/cache/base.rbs +28 -0
  434. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/resolver/cache/file.rbs +13 -0
  435. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/resolver/cache/memory.rbs +13 -0
  436. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/resolver/cache.rbs +16 -0
  437. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/resolver/entry.rbs +13 -0
  438. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/resolver/https.rbs +71 -0
  439. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/resolver/multi.rbs +31 -0
  440. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/resolver/native.rbs +76 -0
  441. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/resolver/resolver.rbs +65 -0
  442. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/resolver/system.rbs +37 -0
  443. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/resolver.rbs +36 -0
  444. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/response/body.rbs +52 -0
  445. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/response/buffer.rbs +23 -0
  446. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/response.rbs +109 -0
  447. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/selector.rbs +80 -0
  448. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/session.rbs +104 -0
  449. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/timers.rbs +58 -0
  450. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/transcoder/body.rbs +24 -0
  451. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/transcoder/chunker.rbs +49 -0
  452. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/transcoder/deflate.rbs +12 -0
  453. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/transcoder/form.rbs +34 -0
  454. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/transcoder/gzip.rbs +28 -0
  455. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/transcoder/json.rbs +28 -0
  456. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/transcoder/multipart.rbs +108 -0
  457. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/transcoder/utils/body_reader.rbs +15 -0
  458. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/transcoder/utils/deflater.rbs +30 -0
  459. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/transcoder.rbs +47 -0
  460. data/vendor/bundle/ruby/4.0.0/gems/httpx-1.8.4/sig/utils.rbs +21 -0
  461. data/vendor/bundle/ruby/4.0.0/specifications/http-2-1.2.3.gemspec +22 -0
  462. data/vendor/bundle/ruby/4.0.0/specifications/httpx-1.8.4.gemspec +28 -0
  463. metadata +426 -258
  464. data/docs/ApplicationWithSecretAllOfIdpModel.md +0 -18
  465. data/lib/cybrid_api_id_ruby/models/application_with_secret_all_of_idp_model.rb +0 -225
  466. data/spec/api_client_spec.rb +0 -226
  467. data/spec/configuration_spec.rb +0 -42
  468. data/spec/models/application_with_secret_all_of_idp_model_spec.rb +0 -34
  469. data/vendor/bundle/ruby/4.0.0/cache/ethon-0.18.0.gem +0 -0
  470. data/vendor/bundle/ruby/4.0.0/cache/ffi-1.17.4-x86_64-linux-gnu.gem +0 -0
  471. data/vendor/bundle/ruby/4.0.0/cache/typhoeus-1.6.0.gem +0 -0
  472. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/CHANGELOG.md +0 -417
  473. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/LICENSE +0 -20
  474. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/README.md +0 -118
  475. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/ethon.gemspec +0 -37
  476. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/curl.rb +0 -90
  477. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/curls/classes.rb +0 -65
  478. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/curls/codes.rb +0 -123
  479. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/curls/constants.rb +0 -80
  480. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/curls/form_options.rb +0 -37
  481. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/curls/functions.rb +0 -58
  482. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/curls/infos.rb +0 -151
  483. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/curls/messages.rb +0 -19
  484. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/curls/options.rb +0 -503
  485. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/curls/settings.rb +0 -12
  486. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/callbacks.rb +0 -155
  487. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/debug_info.rb +0 -47
  488. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/features.rb +0 -31
  489. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/form.rb +0 -107
  490. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/header.rb +0 -61
  491. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/http/actionable.rb +0 -157
  492. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/http/custom.rb +0 -29
  493. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/http/delete.rb +0 -25
  494. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/http/get.rb +0 -24
  495. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/http/head.rb +0 -24
  496. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/http/options.rb +0 -24
  497. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/http/patch.rb +0 -24
  498. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/http/post.rb +0 -26
  499. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/http/postable.rb +0 -32
  500. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/http/put.rb +0 -27
  501. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/http/putable.rb +0 -25
  502. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/http.rb +0 -68
  503. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/informations.rb +0 -116
  504. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/mirror.rb +0 -36
  505. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/operations.rb +0 -64
  506. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/options.rb +0 -50
  507. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/params.rb +0 -29
  508. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/queryable.rb +0 -154
  509. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/response_callbacks.rb +0 -136
  510. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy/util.rb +0 -28
  511. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/easy.rb +0 -315
  512. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/errors/ethon_error.rb +0 -9
  513. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/errors/global_init.rb +0 -13
  514. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/errors/invalid_option.rb +0 -13
  515. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/errors/invalid_value.rb +0 -13
  516. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/errors/multi_add.rb +0 -12
  517. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/errors/multi_fdset.rb +0 -12
  518. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/errors/multi_remove.rb +0 -12
  519. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/errors/multi_timeout.rb +0 -13
  520. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/errors/select.rb +0 -13
  521. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/errors.rb +0 -17
  522. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/libc.rb +0 -21
  523. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/loggable.rb +0 -58
  524. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/multi/operations.rb +0 -228
  525. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/multi/options.rb +0 -117
  526. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/multi/stack.rb +0 -49
  527. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/multi.rb +0 -126
  528. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon/version.rb +0 -6
  529. data/vendor/bundle/ruby/4.0.0/gems/ethon-0.18.0/lib/ethon.rb +0 -36
  530. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/CHANGELOG.md +0 -507
  531. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/COPYING +0 -49
  532. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/Gemfile +0 -26
  533. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/LICENSE +0 -24
  534. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/LICENSE.SPECS +0 -22
  535. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/README.md +0 -138
  536. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/Rakefile +0 -209
  537. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/Steepfile +0 -8
  538. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/ffi.gemspec +0 -43
  539. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/3.0/ffi_c.so +0 -0
  540. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/3.1/ffi_c.so +0 -0
  541. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/3.2/ffi_c.so +0 -0
  542. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/3.3/ffi_c.so +0 -0
  543. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/3.4/ffi_c.so +0 -0
  544. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/4.0/ffi_c.so +0 -0
  545. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/abstract_memory.rb +0 -44
  546. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/autopointer.rb +0 -186
  547. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/buffer.rb +0 -4
  548. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/callback.rb +0 -4
  549. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/compat.rb +0 -54
  550. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/data_converter.rb +0 -67
  551. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/dynamic_library.rb +0 -118
  552. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/enum.rb +0 -302
  553. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/errno.rb +0 -43
  554. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/ffi.rb +0 -109
  555. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/function.rb +0 -94
  556. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/io.rb +0 -62
  557. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/library.rb +0 -592
  558. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/library_path.rb +0 -109
  559. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/managedstruct.rb +0 -84
  560. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/memorypointer.rb +0 -1
  561. 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
  562. 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
  563. 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
  564. 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
  565. 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
  566. 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
  567. 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
  568. 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
  569. 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
  570. 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
  571. 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
  572. 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
  573. 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
  574. 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
  575. 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
  576. 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
  577. 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
  578. 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
  579. 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
  580. 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
  581. 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
  582. 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
  583. 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
  584. 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
  585. 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
  586. 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
  587. 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
  588. 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
  589. 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
  590. 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
  591. 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
  592. 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
  593. 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
  594. 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
  595. 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
  596. 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
  597. 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
  598. 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
  599. 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
  600. 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
  601. 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
  602. 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
  603. 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
  604. 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
  605. 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
  606. 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
  607. 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
  608. 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
  609. 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
  610. 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
  611. 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
  612. 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
  613. 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
  614. 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
  615. 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
  616. 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
  617. 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
  618. 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
  619. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/platform.rb +0 -187
  620. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/pointer.rb +0 -167
  621. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/struct.rb +0 -317
  622. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/struct_by_reference.rb +0 -72
  623. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/struct_layout.rb +0 -96
  624. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/struct_layout_builder.rb +0 -227
  625. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/tools/const_generator.rb +0 -232
  626. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/tools/generator.rb +0 -105
  627. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/tools/generator_task.rb +0 -32
  628. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/tools/struct_generator.rb +0 -195
  629. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/types.rb +0 -222
  630. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/union.rb +0 -43
  631. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/variadic.rb +0 -80
  632. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi/version.rb +0 -3
  633. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/lib/ffi.rb +0 -27
  634. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/samples/getlogin.rb +0 -8
  635. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/samples/getpid.rb +0 -8
  636. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/samples/gettimeofday.rb +0 -18
  637. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/samples/hello.rb +0 -8
  638. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/samples/hello_ractor.rb +0 -19
  639. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/samples/inotify.rb +0 -60
  640. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/samples/pty.rb +0 -75
  641. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/samples/qsort.rb +0 -20
  642. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/samples/qsort_ractor.rb +0 -36
  643. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/abstract_memory.rbs +0 -165
  644. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/auto_pointer.rbs +0 -26
  645. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/buffer.rbs +0 -18
  646. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/data_converter.rbs +0 -10
  647. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/dynamic_library.rbs +0 -9
  648. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/enum.rbs +0 -38
  649. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/errno.rbs +0 -8
  650. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/function.rbs +0 -39
  651. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/library.rbs +0 -42
  652. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/native_type.rbs +0 -86
  653. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/platform.rbs +0 -49
  654. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/pointer.rbs +0 -42
  655. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/struct.rbs +0 -76
  656. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/struct_by_reference.rbs +0 -11
  657. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/struct_by_value.rbs +0 -7
  658. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/struct_layout.rbs +0 -9
  659. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/struct_layout_builder.rbs +0 -5
  660. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi/type.rbs +0 -39
  661. data/vendor/bundle/ruby/4.0.0/gems/ffi-1.17.4-x86_64-linux-gnu/sig/ffi.rbs +0 -29
  662. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/CHANGELOG.md +0 -465
  663. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/CONTRIBUTING.md +0 -20
  664. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/LICENSE +0 -22
  665. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/README.md +0 -588
  666. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/UPGRADE.md +0 -55
  667. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/rack/typhoeus/middleware/params_decoder/helper.rb +0 -76
  668. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/rack/typhoeus/middleware/params_decoder.rb +0 -57
  669. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/rack/typhoeus.rb +0 -1
  670. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/adapters/faraday.rb +0 -180
  671. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/cache/dalli.rb +0 -28
  672. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/cache/rails.rb +0 -28
  673. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/cache/redis.rb +0 -35
  674. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/config.rb +0 -85
  675. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/easy_factory.rb +0 -206
  676. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/errors/no_stub.rb +0 -12
  677. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/errors/typhoeus_error.rb +0 -8
  678. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/errors.rb +0 -9
  679. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/expectation.rb +0 -219
  680. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/addable.rb +0 -23
  681. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/before.rb +0 -31
  682. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/block_connection.rb +0 -35
  683. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/cacheable.rb +0 -15
  684. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/memoizable.rb +0 -56
  685. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/queueable.rb +0 -83
  686. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/runnable.rb +0 -19
  687. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra/stubbable.rb +0 -28
  688. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/hydra.rb +0 -95
  689. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/pool.rb +0 -70
  690. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/railtie.rb +0 -12
  691. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/request/actions.rb +0 -125
  692. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/request/before.rb +0 -30
  693. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/request/block_connection.rb +0 -52
  694. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/request/cacheable.rb +0 -38
  695. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/request/callbacks.rb +0 -151
  696. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/request/marshal.rb +0 -22
  697. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/request/memoizable.rb +0 -38
  698. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/request/operations.rb +0 -40
  699. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/request/responseable.rb +0 -29
  700. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/request/streamable.rb +0 -34
  701. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/request/stubbable.rb +0 -30
  702. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/request.rb +0 -223
  703. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/response/cacheable.rb +0 -14
  704. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/response/header.rb +0 -105
  705. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/response/informations.rb +0 -305
  706. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/response/status.rb +0 -106
  707. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/response.rb +0 -68
  708. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus/version.rb +0 -5
  709. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/lib/typhoeus.rb +0 -143
  710. data/vendor/bundle/ruby/4.0.0/gems/typhoeus-1.6.0/typhoeus.gemspec +0 -35
  711. data/vendor/bundle/ruby/4.0.0/specifications/ethon-0.18.0.gemspec +0 -27
  712. data/vendor/bundle/ruby/4.0.0/specifications/ffi-1.17.4-x86_64-linux-gnu.gemspec +0 -24
  713. 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