wreq 1.0.0 → 1.1.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/Cargo.toml CHANGED
@@ -6,7 +6,7 @@ homepage = "https://github.com/SearchApi/wreq-ruby"
6
6
  repository = "https://github.com/SearchApi/wreq-ruby"
7
7
  edition = "2024"
8
8
  rust-version = "1.85"
9
- version = "1.0.0"
9
+ version = "1.1.0"
10
10
 
11
11
  [lib]
12
12
  crate-type = ["cdylib"]
@@ -14,9 +14,9 @@ doc = false
14
14
  name = "wreq_ruby"
15
15
 
16
16
  [dependencies]
17
- magnus = { version = "0.8", features = ["bytes"] }
18
- rb-sys = { version = "0.9.110", default-features = false }
19
- tokio = { version = "1.49.0", features = ["full"] }
17
+ magnus = { version = "0.8.2", features = ["bytes"] }
18
+ rb-sys = { version = "0.9.128", default-features = false }
19
+ tokio = { version = "1.52.3", features = ["full"] }
20
20
  wreq = { version = "6.0.0-rc.28", features = [
21
21
  "query",
22
22
  "form",
@@ -30,17 +30,17 @@ wreq = { version = "6.0.0-rc.28", features = [
30
30
  "deflate",
31
31
  "zstd",
32
32
  ] }
33
- wreq-util = "3.0.0-rc.10"
34
- serde = { version = "1.0", features = ["derive"] }
35
- serde_magnus = "0.10.0"
36
- indexmap = { version = "2.12.1", features = ["serde"] }
37
- cookie = "0.18"
38
- bytes = "1.10.1"
39
- arc-swap = "1.7.0"
33
+ wreq-util = "3.0.0-rc.11"
34
+ serde = { version = "1.0.228", features = ["derive"] }
35
+ serde_magnus = "0.11.0"
36
+ indexmap = { version = "2.14.0", features = ["serde"] }
37
+ cookie = "0.18.1"
38
+ bytes = "1.11.1"
39
+ arc-swap = "1.9.1"
40
40
  http = "1.4.0"
41
41
  http-body-util = "0.1.3"
42
- futures-util = { version = "0.3.31", default-features = false }
43
- percent-encoding = "2"
42
+ futures-util = { version = "0.3.32", default-features = false }
43
+ percent-encoding = "2.3.2"
44
44
 
45
45
  [build-dependencies]
46
46
  rb-sys-env = "0.2.2"
data/README.md CHANGED
@@ -41,7 +41,7 @@ require "wreq"
41
41
 
42
42
  # Build a client
43
43
  client = Wreq::Client.new(emulation: Wreq::Emulation.new(
44
- device: Wreq::EmulationDevice::Chrome145,
44
+ device: Wreq::EmulationDevice::Chrome147,
45
45
  os: Wreq::EmulationOS::MacOS,
46
46
  skip_http2: false,
47
47
  skip_headers: false
@@ -88,9 +88,9 @@ Most browser device models share identical TLS and HTTP/2 configurations, differ
88
88
 
89
89
  | **Browser** | **Versions** |
90
90
  | ----------- | ------------ |
91
- | **Chrome** | `Chrome100`, `Chrome101`, `Chrome104`, `Chrome105`, `Chrome106`, `Chrome107`, `Chrome108`, `Chrome109`, `Chrome110`, `Chrome114`, `Chrome116`, `Chrome117`, `Chrome118`, `Chrome119`, `Chrome120`, `Chrome123`, `Chrome124`, `Chrome126`, `Chrome127`, `Chrome128`, `Chrome129`, `Chrome130`, `Chrome131`, `Chrome132`, `Chrome133`, `Chrome134`, `Chrome135`, `Chrome136`, `Chrome137`, `Chrome138`, `Chrome139`, `Chrome140`, `Chrome141`, `Chrome142`, `Chrome143`, `Chrome144`, `Chrome145` |
92
- | **Edge** | `Edge101`, `Edge122`, `Edge127`, `Edge131`, `Edge134`, `Edge135`, `Edge136`, `Edge137`, `Edge138`, `Edge139`, `Edge140`, `Edge141`, `Edge142`, `Edge143`, `Edge144`, `Edge145` |
93
- | **Firefox** | `Firefox109`, `Firefox117`, `Firefox128`, `Firefox133`, `Firefox135`, `FirefoxPrivate135`, `FirefoxAndroid135`, `Firefox136`, `FirefoxPrivate136`, `Firefox139`, `Firefox142`, `Firefox143`, `Firefox144`, `Firefox145`, `Firefox146`, `Firefox147` |
91
+ | **Chrome** | `Chrome100`, `Chrome101`, `Chrome104`, `Chrome105`, `Chrome106`, `Chrome107`, `Chrome108`, `Chrome109`, `Chrome110`, `Chrome114`, `Chrome116`, `Chrome117`, `Chrome118`, `Chrome119`, `Chrome120`, `Chrome123`, `Chrome124`, `Chrome126`, `Chrome127`, `Chrome128`, `Chrome129`, `Chrome130`, `Chrome131`, `Chrome132`, `Chrome133`, `Chrome134`, `Chrome135`, `Chrome136`, `Chrome137`, `Chrome138`, `Chrome139`, `Chrome140`, `Chrome141`, `Chrome142`, `Chrome143`, `Chrome144`, `Chrome145`, `Chrome146`, `Chrome147` |
92
+ | **Edge** | `Edge101`, `Edge122`, `Edge127`, `Edge131`, `Edge134`, `Edge135`, `Edge136`, `Edge137`, `Edge138`, `Edge139`, `Edge140`, `Edge141`, `Edge142`, `Edge143`, `Edge144`, `Edge145`, `Edge146`, `Edge147` |
93
+ | **Firefox** | `Firefox109`, `Firefox117`, `Firefox128`, `Firefox133`, `Firefox135`, `FirefoxPrivate135`, `FirefoxAndroid135`, `Firefox136`, `FirefoxPrivate136`, `Firefox139`, `Firefox142`, `Firefox143`, `Firefox144`, `Firefox145`, `Firefox146`, `Firefox147`, `Firefox148`, `Firefox149` |
94
94
  | **Safari** | `Safari15_3`, `Safari15_5`, `Safari15_6_1`, `Safari16`, `Safari16_5`, `Safari17_0`, `Safari17_2_1`, `Safari17_4_1`, `Safari17_5`, `Safari17_6`, `Safari18`, `Safari18_2`, `Safari18_3`, `Safari18_3_1`, `Safari18_5`, `Safari26`, `Safari26_1`, `Safari26_2`, `SafariIos16_5`, `SafariIos17_2`, `SafariIos17_4_1`, `SafariIos18_1_1`, `SafariIos26`, `SafariIos26_2`, `SafariIPad18`, `SafariIPad26`, `SafariIpad26_2` |
95
95
  | **OkHttp** | `OkHttp3_9`, `OkHttp3_11`, `OkHttp3_13`, `OkHttp3_14`, `OkHttp4_9`, `OkHttp4_10`, `OkHttp4_12`, `OkHttp5` |
96
96
  | **Opera** | `Opera116`, `Opera117`, `Opera118`, `Opera119` |
@@ -50,6 +50,8 @@ module Wreq
50
50
  Chrome143 = nil
51
51
  Chrome144 = nil
52
52
  Chrome145 = nil
53
+ Chrome146 = nil
54
+ Chrome147 = nil
53
55
  Edge101 = nil
54
56
  Edge122 = nil
55
57
  Edge127 = nil
@@ -66,6 +68,8 @@ module Wreq
66
68
  Edge143 = nil
67
69
  Edge144 = nil
68
70
  Edge145 = nil
71
+ Edge146 = nil
72
+ Edge147 = nil
69
73
  Firefox109 = nil
70
74
  Firefox117 = nil
71
75
  Firefox128 = nil
@@ -82,6 +86,8 @@ module Wreq
82
86
  Firefox145 = nil
83
87
  Firefox146 = nil
84
88
  Firefox147 = nil
89
+ Firefox148 = nil
90
+ Firefox149 = nil
85
91
  SafariIos17_2 = nil
86
92
  SafariIos17_4_1 = nil
87
93
  SafariIos16_5 = nil
@@ -121,6 +127,17 @@ module Wreq
121
127
  Opera117 = nil
122
128
  Opera118 = nil
123
129
  Opera119 = nil
130
+ Opera120 = nil
131
+ Opera121 = nil
132
+ Opera122 = nil
133
+ Opera123 = nil
134
+ Opera124 = nil
135
+ Opera125 = nil
136
+ Opera126 = nil
137
+ Opera127 = nil
138
+ Opera128 = nil
139
+ Opera129 = nil
140
+ Opera130 = nil
124
141
  end
125
142
 
126
143
  unless method_defined?(:to_s)
@@ -55,9 +55,7 @@ unless defined?(Wreq)
55
55
  # rescue Wreq::TlsError => e
56
56
  # puts "TLS error: #{e.message}"
57
57
  # end
58
- unless const_defined?(:TlsError)
59
- class TlsError < StandardError; end
60
- end
58
+ class TlsError < StandardError; end
61
59
 
62
60
  # HTTP protocol and request/response errors
63
61
 
data/src/client/req.rs CHANGED
@@ -11,7 +11,7 @@ use wreq::{
11
11
  use super::body::{Body, Form, Json};
12
12
  use crate::{
13
13
  client::{query::Query, resp::Response},
14
- emulation::Emulation,
14
+ emulate::Emulation,
15
15
  error::wreq_error_to_magnus,
16
16
  extractor::Extractor,
17
17
  http::Method,
data/src/client.rs CHANGED
@@ -18,7 +18,7 @@ use wreq::{
18
18
  use crate::{
19
19
  client::{req::execute_request, resp::Response},
20
20
  cookie::Jar,
21
- emulation::Emulation,
21
+ emulate::Emulation,
22
22
  error::wreq_error_to_magnus,
23
23
  extractor::Extractor,
24
24
  gvl,
@@ -46,6 +46,9 @@ define_ruby_enum!(
46
46
  Chrome143,
47
47
  Chrome144,
48
48
  Chrome145,
49
+ Chrome146,
50
+ Chrome147,
51
+
49
52
  Edge101,
50
53
  Edge122,
51
54
  Edge127,
@@ -62,6 +65,9 @@ define_ruby_enum!(
62
65
  Edge143,
63
66
  Edge144,
64
67
  Edge145,
68
+ Edge146,
69
+ Edge147,
70
+
65
71
  Firefox109,
66
72
  Firefox117,
67
73
  Firefox128,
@@ -78,6 +84,9 @@ define_ruby_enum!(
78
84
  Firefox145,
79
85
  Firefox146,
80
86
  Firefox147,
87
+ Firefox148,
88
+ Firefox149,
89
+
81
90
  SafariIos17_2,
82
91
  SafariIos17_4_1,
83
92
  SafariIos16_5,
@@ -105,6 +114,7 @@ define_ruby_enum!(
105
114
  SafariIos26_2,
106
115
  SafariIPad26,
107
116
  SafariIpad26_2,
117
+
108
118
  OkHttp3_9,
109
119
  OkHttp3_11,
110
120
  OkHttp3_13,
@@ -113,10 +123,22 @@ define_ruby_enum!(
113
123
  OkHttp4_10,
114
124
  OkHttp4_12,
115
125
  OkHttp5,
126
+
116
127
  Opera116,
117
128
  Opera117,
118
129
  Opera118,
119
- Opera119
130
+ Opera119,
131
+ Opera120,
132
+ Opera121,
133
+ Opera122,
134
+ Opera123,
135
+ Opera124,
136
+ Opera125,
137
+ Opera126,
138
+ Opera127,
139
+ Opera128,
140
+ Opera129,
141
+ Opera130,
120
142
  );
121
143
 
122
144
  define_ruby_enum!(
@@ -229,6 +251,8 @@ pub fn include(ruby: &Ruby, gem_module: &RModule) -> Result<(), Error> {
229
251
  emulation_class.const_set("Chrome143", EmulationDevice::Chrome143)?;
230
252
  emulation_class.const_set("Chrome144", EmulationDevice::Chrome144)?;
231
253
  emulation_class.const_set("Chrome145", EmulationDevice::Chrome145)?;
254
+ emulation_class.const_set("Chrome146", EmulationDevice::Chrome146)?;
255
+ emulation_class.const_set("Chrome147", EmulationDevice::Chrome147)?;
232
256
  emulation_class.const_set("Edge101", EmulationDevice::Edge101)?;
233
257
  emulation_class.const_set("Edge122", EmulationDevice::Edge122)?;
234
258
  emulation_class.const_set("Edge127", EmulationDevice::Edge127)?;
@@ -245,6 +269,9 @@ pub fn include(ruby: &Ruby, gem_module: &RModule) -> Result<(), Error> {
245
269
  emulation_class.const_set("Edge143", EmulationDevice::Edge143)?;
246
270
  emulation_class.const_set("Edge144", EmulationDevice::Edge144)?;
247
271
  emulation_class.const_set("Edge145", EmulationDevice::Edge145)?;
272
+ emulation_class.const_set("Edge146", EmulationDevice::Edge146)?;
273
+ emulation_class.const_set("Edge147", EmulationDevice::Edge147)?;
274
+
248
275
  emulation_class.const_set("Firefox109", EmulationDevice::Firefox109)?;
249
276
  emulation_class.const_set("Firefox117", EmulationDevice::Firefox117)?;
250
277
  emulation_class.const_set("Firefox128", EmulationDevice::Firefox128)?;
@@ -261,6 +288,9 @@ pub fn include(ruby: &Ruby, gem_module: &RModule) -> Result<(), Error> {
261
288
  emulation_class.const_set("Firefox145", EmulationDevice::Firefox145)?;
262
289
  emulation_class.const_set("Firefox146", EmulationDevice::Firefox146)?;
263
290
  emulation_class.const_set("Firefox147", EmulationDevice::Firefox147)?;
291
+ emulation_class.const_set("Firefox148", EmulationDevice::Firefox148)?;
292
+ emulation_class.const_set("Firefox149", EmulationDevice::Firefox149)?;
293
+
264
294
  emulation_class.const_set("SafariIos17_2", EmulationDevice::SafariIos17_2)?;
265
295
  emulation_class.const_set("SafariIos17_4_1", EmulationDevice::SafariIos17_4_1)?;
266
296
  emulation_class.const_set("SafariIos16_5", EmulationDevice::SafariIos16_5)?;
@@ -288,6 +318,7 @@ pub fn include(ruby: &Ruby, gem_module: &RModule) -> Result<(), Error> {
288
318
  emulation_class.const_set("SafariIos26_2", EmulationDevice::SafariIos26_2)?;
289
319
  emulation_class.const_set("SafariIPad26", EmulationDevice::SafariIPad26)?;
290
320
  emulation_class.const_set("SafariIpad26_2", EmulationDevice::SafariIpad26_2)?;
321
+
291
322
  emulation_class.const_set("OkHttp3_9", EmulationDevice::OkHttp3_9)?;
292
323
  emulation_class.const_set("OkHttp3_11", EmulationDevice::OkHttp3_11)?;
293
324
  emulation_class.const_set("OkHttp3_13", EmulationDevice::OkHttp3_13)?;
@@ -296,10 +327,22 @@ pub fn include(ruby: &Ruby, gem_module: &RModule) -> Result<(), Error> {
296
327
  emulation_class.const_set("OkHttp4_10", EmulationDevice::OkHttp4_10)?;
297
328
  emulation_class.const_set("OkHttp4_12", EmulationDevice::OkHttp4_12)?;
298
329
  emulation_class.const_set("OkHttp5", EmulationDevice::OkHttp5)?;
330
+
299
331
  emulation_class.const_set("Opera116", EmulationDevice::Opera116)?;
300
332
  emulation_class.const_set("Opera117", EmulationDevice::Opera117)?;
301
333
  emulation_class.const_set("Opera118", EmulationDevice::Opera118)?;
302
334
  emulation_class.const_set("Opera119", EmulationDevice::Opera119)?;
335
+ emulation_class.const_set("Opera120", EmulationDevice::Opera120)?;
336
+ emulation_class.const_set("Opera121", EmulationDevice::Opera121)?;
337
+ emulation_class.const_set("Opera122", EmulationDevice::Opera122)?;
338
+ emulation_class.const_set("Opera123", EmulationDevice::Opera123)?;
339
+ emulation_class.const_set("Opera124", EmulationDevice::Opera124)?;
340
+ emulation_class.const_set("Opera125", EmulationDevice::Opera125)?;
341
+ emulation_class.const_set("Opera126", EmulationDevice::Opera126)?;
342
+ emulation_class.const_set("Opera127", EmulationDevice::Opera127)?;
343
+ emulation_class.const_set("Opera128", EmulationDevice::Opera128)?;
344
+ emulation_class.const_set("Opera129", EmulationDevice::Opera129)?;
345
+ emulation_class.const_set("Opera130", EmulationDevice::Opera130)?;
303
346
 
304
347
  // EmulationOS enum binding
305
348
  let emulation_os_class = gem_module.define_class("EmulationOS", ruby.class_object())?;
data/src/lib.rs CHANGED
@@ -4,7 +4,7 @@
4
4
  mod macros;
5
5
  mod client;
6
6
  mod cookie;
7
- mod emulation;
7
+ mod emulate;
8
8
  mod error;
9
9
  mod extractor;
10
10
  mod gvl;
@@ -91,7 +91,7 @@ fn init(ruby: &Ruby) -> Result<(), Error> {
91
91
  header::include(ruby, &gem_module)?;
92
92
  cookie::include(ruby, &gem_module)?;
93
93
  client::include(ruby, &gem_module)?;
94
- emulation::include(ruby, &gem_module)?;
94
+ emulate::include(ruby, &gem_module)?;
95
95
  error::include(ruby);
96
96
  Ok(())
97
97
  }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wreq
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - SearchApi
@@ -20,6 +20,7 @@ extensions:
20
20
  extra_rdoc_files: []
21
21
  files:
22
22
  - "./extconf.rb"
23
+ - Cargo.lock
23
24
  - Cargo.toml
24
25
  - Gemfile
25
26
  - LICENSE
@@ -55,7 +56,7 @@ files:
55
56
  - src/client/req.rs
56
57
  - src/client/resp.rs
57
58
  - src/cookie.rs
58
- - src/emulation.rs
59
+ - src/emulate.rs
59
60
  - src/error.rs
60
61
  - src/extractor.rs
61
62
  - src/gvl.rs