wreq 1.0.0 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/src/emulation.rs DELETED
@@ -1,317 +0,0 @@
1
- use magnus::{
2
- Error, Module, Object, RHash, RModule, Ruby, TryConvert, Value, function, method,
3
- typed_data::{Inspect, Obj},
4
- };
5
-
6
- define_ruby_enum!(
7
- /// An emulation.
8
- const,
9
- EmulationDevice,
10
- "Wreq::EmulationDevice",
11
- wreq_util::Emulation,
12
- Chrome100,
13
- Chrome101,
14
- Chrome104,
15
- Chrome105,
16
- Chrome106,
17
- Chrome107,
18
- Chrome108,
19
- Chrome109,
20
- Chrome110,
21
- Chrome114,
22
- Chrome116,
23
- Chrome117,
24
- Chrome118,
25
- Chrome119,
26
- Chrome120,
27
- Chrome123,
28
- Chrome124,
29
- Chrome126,
30
- Chrome127,
31
- Chrome128,
32
- Chrome129,
33
- Chrome130,
34
- Chrome131,
35
- Chrome132,
36
- Chrome133,
37
- Chrome134,
38
- Chrome135,
39
- Chrome136,
40
- Chrome137,
41
- Chrome138,
42
- Chrome139,
43
- Chrome140,
44
- Chrome141,
45
- Chrome142,
46
- Chrome143,
47
- Chrome144,
48
- Chrome145,
49
- Edge101,
50
- Edge122,
51
- Edge127,
52
- Edge131,
53
- Edge134,
54
- Edge135,
55
- Edge136,
56
- Edge137,
57
- Edge138,
58
- Edge139,
59
- Edge140,
60
- Edge141,
61
- Edge142,
62
- Edge143,
63
- Edge144,
64
- Edge145,
65
- Firefox109,
66
- Firefox117,
67
- Firefox128,
68
- Firefox133,
69
- Firefox135,
70
- FirefoxPrivate135,
71
- FirefoxAndroid135,
72
- Firefox136,
73
- FirefoxPrivate136,
74
- Firefox139,
75
- Firefox142,
76
- Firefox143,
77
- Firefox144,
78
- Firefox145,
79
- Firefox146,
80
- Firefox147,
81
- SafariIos17_2,
82
- SafariIos17_4_1,
83
- SafariIos16_5,
84
- Safari15_3,
85
- Safari15_5,
86
- Safari15_6_1,
87
- Safari16,
88
- Safari16_5,
89
- Safari17_0,
90
- Safari17_2_1,
91
- Safari17_4_1,
92
- Safari17_5,
93
- Safari17_6,
94
- Safari18,
95
- SafariIPad18,
96
- Safari18_2,
97
- Safari18_3,
98
- Safari18_3_1,
99
- SafariIos18_1_1,
100
- Safari18_5,
101
- Safari26,
102
- Safari26_1,
103
- Safari26_2,
104
- SafariIos26,
105
- SafariIos26_2,
106
- SafariIPad26,
107
- SafariIpad26_2,
108
- OkHttp3_9,
109
- OkHttp3_11,
110
- OkHttp3_13,
111
- OkHttp3_14,
112
- OkHttp4_9,
113
- OkHttp4_10,
114
- OkHttp4_12,
115
- OkHttp5,
116
- Opera116,
117
- Opera117,
118
- Opera118,
119
- Opera119
120
- );
121
-
122
- define_ruby_enum!(
123
- /// An emulation operating system.
124
- const,
125
- EmulationOS,
126
- "Wreq::EmulationOS",
127
- wreq_util::EmulationOS,
128
- Windows,
129
- MacOS,
130
- Linux,
131
- Android,
132
- IOS,
133
- );
134
-
135
- /// A struct to represent the `EmulationOption` class.
136
- #[derive(Clone)]
137
- #[magnus::wrap(class = "Wreq::Emulation", free_immediately, size)]
138
- pub struct Emulation(pub wreq_util::EmulationOption);
139
-
140
- // ===== impl EmulationDevice =====
141
-
142
- impl EmulationDevice {
143
- pub fn to_s(&self) -> String {
144
- self.into_ffi().inspect()
145
- }
146
- }
147
-
148
- // ===== impl EmulationOS =====
149
-
150
- impl EmulationOS {
151
- pub fn to_s(&self) -> String {
152
- self.into_ffi().inspect()
153
- }
154
- }
155
-
156
- // ===== impl Emulation =====
157
-
158
- impl Emulation {
159
- fn new(ruby: &Ruby, args: &[Value]) -> Result<Self, Error> {
160
- let mut device = None;
161
- let mut os = None;
162
- let mut skip_http2 = None;
163
- let mut skip_headers = None;
164
-
165
- if let Some(hash) = args.first().and_then(|v| RHash::from_value(*v)) {
166
- if let Some(v) = hash.get(ruby.to_symbol("device")) {
167
- device = Some(Obj::<EmulationDevice>::try_convert(v)?);
168
- }
169
- if let Some(v) = hash.get(ruby.to_symbol("os")) {
170
- os = Some(Obj::<EmulationOS>::try_convert(v)?);
171
- }
172
- if let Some(v) = hash.get(ruby.to_symbol("skip_http2")) {
173
- skip_http2 = Some(bool::try_convert(v)?);
174
- }
175
- if let Some(v) = hash.get(ruby.to_symbol("skip_headers")) {
176
- skip_headers = Some(bool::try_convert(v)?);
177
- }
178
- }
179
-
180
- let emulation = wreq_util::EmulationOption::builder()
181
- .emulation(device.map(|obj| obj.into_ffi()).unwrap_or_default())
182
- .emulation_os(os.map(|os| os.into_ffi()).unwrap_or_default())
183
- .skip_http2(skip_http2.unwrap_or(false))
184
- .skip_headers(skip_headers.unwrap_or(false))
185
- .build();
186
-
187
- Ok(Self(emulation))
188
- }
189
- }
190
-
191
- pub fn include(ruby: &Ruby, gem_module: &RModule) -> Result<(), Error> {
192
- // EmulationDevice enum binding
193
- let emulation_class = gem_module.define_class("EmulationDevice", ruby.class_object())?;
194
- emulation_class.define_method("to_s", method!(EmulationDevice::to_s, 0))?;
195
- emulation_class.const_set("Chrome100", EmulationDevice::Chrome100)?;
196
- emulation_class.const_set("Chrome101", EmulationDevice::Chrome101)?;
197
- emulation_class.const_set("Chrome104", EmulationDevice::Chrome104)?;
198
- emulation_class.const_set("Chrome105", EmulationDevice::Chrome105)?;
199
- emulation_class.const_set("Chrome106", EmulationDevice::Chrome106)?;
200
- emulation_class.const_set("Chrome107", EmulationDevice::Chrome107)?;
201
- emulation_class.const_set("Chrome108", EmulationDevice::Chrome108)?;
202
- emulation_class.const_set("Chrome109", EmulationDevice::Chrome109)?;
203
- emulation_class.const_set("Chrome110", EmulationDevice::Chrome110)?;
204
- emulation_class.const_set("Chrome114", EmulationDevice::Chrome114)?;
205
- emulation_class.const_set("Chrome116", EmulationDevice::Chrome116)?;
206
- emulation_class.const_set("Chrome117", EmulationDevice::Chrome117)?;
207
- emulation_class.const_set("Chrome118", EmulationDevice::Chrome118)?;
208
- emulation_class.const_set("Chrome119", EmulationDevice::Chrome119)?;
209
- emulation_class.const_set("Chrome120", EmulationDevice::Chrome120)?;
210
- emulation_class.const_set("Chrome123", EmulationDevice::Chrome123)?;
211
- emulation_class.const_set("Chrome124", EmulationDevice::Chrome124)?;
212
- emulation_class.const_set("Chrome126", EmulationDevice::Chrome126)?;
213
- emulation_class.const_set("Chrome127", EmulationDevice::Chrome127)?;
214
- emulation_class.const_set("Chrome128", EmulationDevice::Chrome128)?;
215
- emulation_class.const_set("Chrome129", EmulationDevice::Chrome129)?;
216
- emulation_class.const_set("Chrome130", EmulationDevice::Chrome130)?;
217
- emulation_class.const_set("Chrome131", EmulationDevice::Chrome131)?;
218
- emulation_class.const_set("Chrome132", EmulationDevice::Chrome132)?;
219
- emulation_class.const_set("Chrome133", EmulationDevice::Chrome133)?;
220
- emulation_class.const_set("Chrome134", EmulationDevice::Chrome134)?;
221
- emulation_class.const_set("Chrome135", EmulationDevice::Chrome135)?;
222
- emulation_class.const_set("Chrome136", EmulationDevice::Chrome136)?;
223
- emulation_class.const_set("Chrome137", EmulationDevice::Chrome137)?;
224
- emulation_class.const_set("Chrome138", EmulationDevice::Chrome138)?;
225
- emulation_class.const_set("Chrome139", EmulationDevice::Chrome139)?;
226
- emulation_class.const_set("Chrome140", EmulationDevice::Chrome140)?;
227
- emulation_class.const_set("Chrome141", EmulationDevice::Chrome141)?;
228
- emulation_class.const_set("Chrome142", EmulationDevice::Chrome142)?;
229
- emulation_class.const_set("Chrome143", EmulationDevice::Chrome143)?;
230
- emulation_class.const_set("Chrome144", EmulationDevice::Chrome144)?;
231
- emulation_class.const_set("Chrome145", EmulationDevice::Chrome145)?;
232
- emulation_class.const_set("Edge101", EmulationDevice::Edge101)?;
233
- emulation_class.const_set("Edge122", EmulationDevice::Edge122)?;
234
- emulation_class.const_set("Edge127", EmulationDevice::Edge127)?;
235
- emulation_class.const_set("Edge131", EmulationDevice::Edge131)?;
236
- emulation_class.const_set("Edge134", EmulationDevice::Edge134)?;
237
- emulation_class.const_set("Edge135", EmulationDevice::Edge135)?;
238
- emulation_class.const_set("Edge136", EmulationDevice::Edge136)?;
239
- emulation_class.const_set("Edge137", EmulationDevice::Edge137)?;
240
- emulation_class.const_set("Edge138", EmulationDevice::Edge138)?;
241
- emulation_class.const_set("Edge139", EmulationDevice::Edge139)?;
242
- emulation_class.const_set("Edge140", EmulationDevice::Edge140)?;
243
- emulation_class.const_set("Edge141", EmulationDevice::Edge141)?;
244
- emulation_class.const_set("Edge142", EmulationDevice::Edge142)?;
245
- emulation_class.const_set("Edge143", EmulationDevice::Edge143)?;
246
- emulation_class.const_set("Edge144", EmulationDevice::Edge144)?;
247
- emulation_class.const_set("Edge145", EmulationDevice::Edge145)?;
248
- emulation_class.const_set("Firefox109", EmulationDevice::Firefox109)?;
249
- emulation_class.const_set("Firefox117", EmulationDevice::Firefox117)?;
250
- emulation_class.const_set("Firefox128", EmulationDevice::Firefox128)?;
251
- emulation_class.const_set("Firefox133", EmulationDevice::Firefox133)?;
252
- emulation_class.const_set("Firefox135", EmulationDevice::Firefox135)?;
253
- emulation_class.const_set("FirefoxPrivate135", EmulationDevice::FirefoxPrivate135)?;
254
- emulation_class.const_set("FirefoxAndroid135", EmulationDevice::FirefoxAndroid135)?;
255
- emulation_class.const_set("Firefox136", EmulationDevice::Firefox136)?;
256
- emulation_class.const_set("FirefoxPrivate136", EmulationDevice::FirefoxPrivate136)?;
257
- emulation_class.const_set("Firefox139", EmulationDevice::Firefox139)?;
258
- emulation_class.const_set("Firefox142", EmulationDevice::Firefox142)?;
259
- emulation_class.const_set("Firefox143", EmulationDevice::Firefox143)?;
260
- emulation_class.const_set("Firefox144", EmulationDevice::Firefox144)?;
261
- emulation_class.const_set("Firefox145", EmulationDevice::Firefox145)?;
262
- emulation_class.const_set("Firefox146", EmulationDevice::Firefox146)?;
263
- emulation_class.const_set("Firefox147", EmulationDevice::Firefox147)?;
264
- emulation_class.const_set("SafariIos17_2", EmulationDevice::SafariIos17_2)?;
265
- emulation_class.const_set("SafariIos17_4_1", EmulationDevice::SafariIos17_4_1)?;
266
- emulation_class.const_set("SafariIos16_5", EmulationDevice::SafariIos16_5)?;
267
- emulation_class.const_set("Safari15_3", EmulationDevice::Safari15_3)?;
268
- emulation_class.const_set("Safari15_5", EmulationDevice::Safari15_5)?;
269
- emulation_class.const_set("Safari15_6_1", EmulationDevice::Safari15_6_1)?;
270
- emulation_class.const_set("Safari16", EmulationDevice::Safari16)?;
271
- emulation_class.const_set("Safari16_5", EmulationDevice::Safari16_5)?;
272
- emulation_class.const_set("Safari17_0", EmulationDevice::Safari17_0)?;
273
- emulation_class.const_set("Safari17_2_1", EmulationDevice::Safari17_2_1)?;
274
- emulation_class.const_set("Safari17_4_1", EmulationDevice::Safari17_4_1)?;
275
- emulation_class.const_set("Safari17_5", EmulationDevice::Safari17_5)?;
276
- emulation_class.const_set("Safari17_6", EmulationDevice::Safari17_6)?;
277
- emulation_class.const_set("Safari18", EmulationDevice::Safari18)?;
278
- emulation_class.const_set("SafariIPad18", EmulationDevice::SafariIPad18)?;
279
- emulation_class.const_set("Safari18_2", EmulationDevice::Safari18_2)?;
280
- emulation_class.const_set("Safari18_3", EmulationDevice::Safari18_3)?;
281
- emulation_class.const_set("Safari18_3_1", EmulationDevice::Safari18_3_1)?;
282
- emulation_class.const_set("SafariIos18_1_1", EmulationDevice::SafariIos18_1_1)?;
283
- emulation_class.const_set("Safari18_5", EmulationDevice::Safari18_5)?;
284
- emulation_class.const_set("Safari26", EmulationDevice::Safari26)?;
285
- emulation_class.const_set("Safari26_1", EmulationDevice::Safari26_1)?;
286
- emulation_class.const_set("Safari26_2", EmulationDevice::Safari26_2)?;
287
- emulation_class.const_set("SafariIos26", EmulationDevice::SafariIos26)?;
288
- emulation_class.const_set("SafariIos26_2", EmulationDevice::SafariIos26_2)?;
289
- emulation_class.const_set("SafariIPad26", EmulationDevice::SafariIPad26)?;
290
- emulation_class.const_set("SafariIpad26_2", EmulationDevice::SafariIpad26_2)?;
291
- emulation_class.const_set("OkHttp3_9", EmulationDevice::OkHttp3_9)?;
292
- emulation_class.const_set("OkHttp3_11", EmulationDevice::OkHttp3_11)?;
293
- emulation_class.const_set("OkHttp3_13", EmulationDevice::OkHttp3_13)?;
294
- emulation_class.const_set("OkHttp3_14", EmulationDevice::OkHttp3_14)?;
295
- emulation_class.const_set("OkHttp4_9", EmulationDevice::OkHttp4_9)?;
296
- emulation_class.const_set("OkHttp4_10", EmulationDevice::OkHttp4_10)?;
297
- emulation_class.const_set("OkHttp4_12", EmulationDevice::OkHttp4_12)?;
298
- emulation_class.const_set("OkHttp5", EmulationDevice::OkHttp5)?;
299
- emulation_class.const_set("Opera116", EmulationDevice::Opera116)?;
300
- emulation_class.const_set("Opera117", EmulationDevice::Opera117)?;
301
- emulation_class.const_set("Opera118", EmulationDevice::Opera118)?;
302
- emulation_class.const_set("Opera119", EmulationDevice::Opera119)?;
303
-
304
- // EmulationOS enum binding
305
- let emulation_os_class = gem_module.define_class("EmulationOS", ruby.class_object())?;
306
- emulation_os_class.define_method("to_s", method!(EmulationOS::to_s, 0))?;
307
- emulation_os_class.const_set("Windows", EmulationOS::Windows)?;
308
- emulation_os_class.const_set("MacOS", EmulationOS::MacOS)?;
309
- emulation_os_class.const_set("Linux", EmulationOS::Linux)?;
310
- emulation_os_class.const_set("Android", EmulationOS::Android)?;
311
- emulation_os_class.const_set("IOS", EmulationOS::IOS)?;
312
-
313
- // Emulation class binding
314
- let emulation_option_class = gem_module.define_class("Emulation", ruby.class_object())?;
315
- emulation_option_class.define_singleton_method("new", function!(Emulation::new, -1))?;
316
- Ok(())
317
- }