ethon 0.18.0 → 0.19.1

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 (74) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +705 -2
  3. data/README.md +183 -40
  4. data/lib/ethon/curl.rb +22 -0
  5. data/lib/ethon/curls/classes.rb +284 -12
  6. data/lib/ethon/curls/codes.rb +28 -9
  7. data/lib/ethon/curls/constants.rb +61 -4
  8. data/lib/ethon/curls/form_options.rb +2 -1
  9. data/lib/ethon/curls/functions.rb +60 -11
  10. data/lib/ethon/curls/infos.rb +104 -5
  11. data/lib/ethon/curls/introspection.rb +139 -0
  12. data/lib/ethon/curls/introspection_constants.rb +42 -0
  13. data/lib/ethon/curls/mime.rb +187 -0
  14. data/lib/ethon/curls/optional.rb +14 -0
  15. data/lib/ethon/curls/options.rb +298 -71
  16. data/lib/ethon/curls/settings.rb +12 -3
  17. data/lib/ethon/curls/share.rb +165 -0
  18. data/lib/ethon/curls/share_constants.rb +47 -0
  19. data/lib/ethon/curls/url.rb +171 -0
  20. data/lib/ethon/curls/url_constants.rb +78 -0
  21. data/lib/ethon/easy/callbacks.rb +177 -51
  22. data/lib/ethon/easy/features.rb +4 -1
  23. data/lib/ethon/easy/files.rb +113 -0
  24. data/lib/ethon/easy/form.rb +65 -6
  25. data/lib/ethon/easy/header.rb +57 -15
  26. data/lib/ethon/easy/headers_api.rb +79 -0
  27. data/lib/ethon/easy/http/actionable.rb +25 -3
  28. data/lib/ethon/easy/http/get.rb +5 -1
  29. data/lib/ethon/easy/http/post.rb +1 -0
  30. data/lib/ethon/easy/http/postable.rb +9 -2
  31. data/lib/ethon/easy/http/putable.rb +19 -4
  32. data/lib/ethon/easy/http.rb +16 -4
  33. data/lib/ethon/easy/informations.rb +51 -2
  34. data/lib/ethon/easy/mime.rb +29 -0
  35. data/lib/ethon/easy/mirror.rb +17 -4
  36. data/lib/ethon/easy/operations.rb +264 -11
  37. data/lib/ethon/easy/options.rb +327 -8
  38. data/lib/ethon/easy/queryable.rb +59 -14
  39. data/lib/ethon/easy/response_callbacks.rb +33 -12
  40. data/lib/ethon/easy/share.rb +28 -0
  41. data/lib/ethon/easy/url.rb +32 -0
  42. data/lib/ethon/easy/util.rb +19 -0
  43. data/lib/ethon/easy.rb +185 -10
  44. data/lib/ethon/errors/fork_safety.rb +10 -0
  45. data/lib/ethon/errors/form_add.rb +12 -0
  46. data/lib/ethon/errors/global_init.rb +1 -1
  47. data/lib/ethon/errors/header.rb +12 -0
  48. data/lib/ethon/errors/invalid_option.rb +3 -1
  49. data/lib/ethon/errors/invalid_value.rb +3 -1
  50. data/lib/ethon/errors/mime.rb +17 -0
  51. data/lib/ethon/errors/multi_add.rb +1 -1
  52. data/lib/ethon/errors/multi_assign.rb +12 -0
  53. data/lib/ethon/errors/multi_fdset.rb +1 -1
  54. data/lib/ethon/errors/multi_perform.rb +12 -0
  55. data/lib/ethon/errors/multi_poll.rb +12 -0
  56. data/lib/ethon/errors/multi_remove.rb +1 -1
  57. data/lib/ethon/errors/multi_timeout.rb +2 -2
  58. data/lib/ethon/errors/multi_wait.rb +12 -0
  59. data/lib/ethon/errors/multi_wakeup.rb +12 -0
  60. data/lib/ethon/errors/select.rb +1 -1
  61. data/lib/ethon/errors/set_option.rb +27 -0
  62. data/lib/ethon/errors/share.rb +17 -0
  63. data/lib/ethon/errors/unsupported_option.rb +23 -0
  64. data/lib/ethon/errors/url.rb +17 -0
  65. data/lib/ethon/errors.rb +13 -0
  66. data/lib/ethon/libc.rb +30 -1
  67. data/lib/ethon/loggable.rb +1 -1
  68. data/lib/ethon/multi/operations.rb +269 -25
  69. data/lib/ethon/multi/options.rb +114 -12
  70. data/lib/ethon/multi/stack.rb +181 -10
  71. data/lib/ethon/multi.rb +51 -15
  72. data/lib/ethon/version.rb +1 -1
  73. data/lib/ethon.rb +8 -9
  74. metadata +35 -6
metadata CHANGED
@@ -1,13 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ethon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.18.0
4
+ version: 0.19.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hans Hasselberg
8
+ autorequire:
8
9
  bindir: bin
9
10
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
11
+ date: 2026-10-28 00:00:00.000000000 Z
11
12
  dependencies:
12
13
  - !ruby/object:Gem::Dependency
13
14
  name: ffi
@@ -56,15 +57,25 @@ files:
56
57
  - lib/ethon/curls/form_options.rb
57
58
  - lib/ethon/curls/functions.rb
58
59
  - lib/ethon/curls/infos.rb
60
+ - lib/ethon/curls/introspection.rb
61
+ - lib/ethon/curls/introspection_constants.rb
59
62
  - lib/ethon/curls/messages.rb
63
+ - lib/ethon/curls/mime.rb
64
+ - lib/ethon/curls/optional.rb
60
65
  - lib/ethon/curls/options.rb
61
66
  - lib/ethon/curls/settings.rb
67
+ - lib/ethon/curls/share.rb
68
+ - lib/ethon/curls/share_constants.rb
69
+ - lib/ethon/curls/url.rb
70
+ - lib/ethon/curls/url_constants.rb
62
71
  - lib/ethon/easy.rb
63
72
  - lib/ethon/easy/callbacks.rb
64
73
  - lib/ethon/easy/debug_info.rb
65
74
  - lib/ethon/easy/features.rb
75
+ - lib/ethon/easy/files.rb
66
76
  - lib/ethon/easy/form.rb
67
77
  - lib/ethon/easy/header.rb
78
+ - lib/ethon/easy/headers_api.rb
68
79
  - lib/ethon/easy/http.rb
69
80
  - lib/ethon/easy/http/actionable.rb
70
81
  - lib/ethon/easy/http/custom.rb
@@ -78,23 +89,39 @@ files:
78
89
  - lib/ethon/easy/http/put.rb
79
90
  - lib/ethon/easy/http/putable.rb
80
91
  - lib/ethon/easy/informations.rb
92
+ - lib/ethon/easy/mime.rb
81
93
  - lib/ethon/easy/mirror.rb
82
94
  - lib/ethon/easy/operations.rb
83
95
  - lib/ethon/easy/options.rb
84
96
  - lib/ethon/easy/params.rb
85
97
  - lib/ethon/easy/queryable.rb
86
98
  - lib/ethon/easy/response_callbacks.rb
99
+ - lib/ethon/easy/share.rb
100
+ - lib/ethon/easy/url.rb
87
101
  - lib/ethon/easy/util.rb
88
102
  - lib/ethon/errors.rb
89
103
  - lib/ethon/errors/ethon_error.rb
104
+ - lib/ethon/errors/fork_safety.rb
105
+ - lib/ethon/errors/form_add.rb
90
106
  - lib/ethon/errors/global_init.rb
107
+ - lib/ethon/errors/header.rb
91
108
  - lib/ethon/errors/invalid_option.rb
92
109
  - lib/ethon/errors/invalid_value.rb
110
+ - lib/ethon/errors/mime.rb
93
111
  - lib/ethon/errors/multi_add.rb
112
+ - lib/ethon/errors/multi_assign.rb
94
113
  - lib/ethon/errors/multi_fdset.rb
114
+ - lib/ethon/errors/multi_perform.rb
115
+ - lib/ethon/errors/multi_poll.rb
95
116
  - lib/ethon/errors/multi_remove.rb
96
117
  - lib/ethon/errors/multi_timeout.rb
118
+ - lib/ethon/errors/multi_wait.rb
119
+ - lib/ethon/errors/multi_wakeup.rb
97
120
  - lib/ethon/errors/select.rb
121
+ - lib/ethon/errors/set_option.rb
122
+ - lib/ethon/errors/share.rb
123
+ - lib/ethon/errors/unsupported_option.rb
124
+ - lib/ethon/errors/url.rb
98
125
  - lib/ethon/libc.rb
99
126
  - lib/ethon/loggable.rb
100
127
  - lib/ethon/multi.rb
@@ -107,10 +134,11 @@ licenses:
107
134
  - MIT
108
135
  metadata:
109
136
  bug_tracker_uri: https://github.com/typhoeus/ethon/issues
110
- changelog_uri: https://github.com/typhoeus/ethon/blob/v0.18.0/CHANGELOG.md
111
- documentation_uri: https://www.rubydoc.info/gems/ethon/0.18.0
137
+ changelog_uri: https://github.com/typhoeus/ethon/blob/v0.19.1/CHANGELOG.md
138
+ documentation_uri: https://www.rubydoc.info/gems/ethon/0.19.1
112
139
  rubygems_mfa_required: 'true'
113
- source_code_uri: https://github.com/typhoeus/ethon/tree/v0.18.0
140
+ source_code_uri: https://github.com/typhoeus/ethon/tree/v0.19.1
141
+ post_install_message:
114
142
  rdoc_options: []
115
143
  require_paths:
116
144
  - lib
@@ -125,7 +153,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
125
153
  - !ruby/object:Gem::Version
126
154
  version: '0'
127
155
  requirements: []
128
- rubygems_version: 3.7.1
156
+ rubygems_version: 3.4.19
157
+ signing_key:
129
158
  specification_version: 4
130
159
  summary: Libcurl wrapper.
131
160
  test_files: []