wreq 1.2.9 → 1.2.10

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 25b79ef76824f974c6f5f00e86bc1ad5ff1cbe76a5b87aad4f22e96e53d082d5
4
- data.tar.gz: 4881b9242c6e672d67429406b2a029a8094904334d848ede43d3a97b44552334
3
+ metadata.gz: 716f52b3692d818b5b58cecdb197f8112ac1c798255bd17fed78fa8a24db4d78
4
+ data.tar.gz: 793f8e7b1d27a3cb5d1223bab6b1982aa5239680f94ffaee1ef1db64e9b1fc8c
5
5
  SHA512:
6
- metadata.gz: 737b77b0962becd596b4ebc05f0f8d3aebe547a9c6826aa1d6a76e1367f98d69abfa0874f345f635a570ef4478260660d7c83f802d18a5663b96b14e4a28abc8
7
- data.tar.gz: 5bfdf49fe4df28390b08579298dac69422fd7c01cc9ab2055a739d8c165c3ec7362d21dde2ced8b751a81e80013c74a59a6bea832af654710353bd741bcce1a3
6
+ metadata.gz: cab03cb8c651509d357c889aa38c1fa830ad72280bb02f2a6cfe0f89d327d366f70d4591034c3b775e02eb8fd26f0b9af55fe8986d843dc59debe646e9792d6a
7
+ data.tar.gz: 757ac8dd2dee930f92175770ea77c42bd9edf50e7e9372e394b5c201edbad005a840d2f6f47192432a0265ff3138783471eff4309195724396439eb64c129265
data/Cargo.lock CHANGED
@@ -1549,7 +1549,7 @@ dependencies = [
1549
1549
 
1550
1550
  [[package]]
1551
1551
  name = "wreq-ruby"
1552
- version = "1.2.9"
1552
+ version = "1.2.10"
1553
1553
  dependencies = [
1554
1554
  "arc-swap",
1555
1555
  "bytes",
data/Cargo.toml CHANGED
@@ -5,7 +5,7 @@ authors = ["SearchApi <support@searchapi.io>"]
5
5
  homepage = "https://github.com/SearchApi/wreq-ruby"
6
6
  repository = "https://github.com/SearchApi/wreq-ruby"
7
7
  edition = "2024"
8
- version = "1.2.9"
8
+ version = "1.2.10"
9
9
  rust-version = "1.95"
10
10
 
11
11
  [lib]
data/README.md CHANGED
@@ -91,7 +91,7 @@ Most browser device models share identical TLS and HTTP/2 configurations, differ
91
91
 
92
92
  | **Browser** | **Versions** |
93
93
  | ----------- | ------------ |
94
- | **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`, `Chrome148`, `Chrome149` |
94
+ | **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`, `Chrome148`, `Chrome149`, `Chrome150`, `Chrome151` |
95
95
  | **Edge** | `Edge101`, `Edge122`, `Edge127`, `Edge131`, `Edge134`, `Edge135`, `Edge136`, `Edge137`, `Edge138`, `Edge139`, `Edge140`, `Edge141`, `Edge142`, `Edge143`, `Edge144`, `Edge145`, `Edge146`, `Edge147`, `Edge148` |
96
96
  | **Firefox** | `Firefox109`, `Firefox117`, `Firefox128`, `Firefox133`, `Firefox135`, `FirefoxPrivate135`, `FirefoxAndroid135`, `Firefox136`, `FirefoxPrivate136`, `Firefox139`, `Firefox142`, `Firefox143`, `Firefox144`, `Firefox145`, `Firefox146`, `Firefox147`, `Firefox148`, `Firefox149`, `Firefox150`, `Firefox151` |
97
97
  | **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` |
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Added
11
+
12
+ - *(emulate)* Add Chrome 151 profile.
13
+
10
14
  ## [3.0.0-rc.14](https://github.com/0x676e67/wreq-util/compare/v3.0.0-rc.13...v3.0.0-rc.14) - 2026-07-04
11
15
 
12
16
  ### Fixed
@@ -1829,6 +1829,39 @@ mod_generator!(
1829
1829
  ]
1830
1830
  );
1831
1831
 
1832
+ mod_generator!(
1833
+ v151,
1834
+ v150::build_emulation,
1835
+ header_initializer_with_zstd_priority,
1836
+ [
1837
+ (
1838
+ MacOS,
1839
+ r#""Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151""#,
1840
+ "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36"
1841
+ ),
1842
+ (
1843
+ Linux,
1844
+ r#""Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151""#,
1845
+ "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36"
1846
+ ),
1847
+ (
1848
+ Android,
1849
+ r#""Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151""#,
1850
+ "Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Mobile Safari/537.36"
1851
+ ),
1852
+ (
1853
+ Windows,
1854
+ r#""Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151""#,
1855
+ "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36"
1856
+ ),
1857
+ (
1858
+ IOS,
1859
+ r#""Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151""#,
1860
+ "Mozilla/5.0 (iPhone; CPU iPhone OS 18_7_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) CriOS/151.0.7922.43 Mobile/15E148 Safari/604.1"
1861
+ )
1862
+ ]
1863
+ );
1864
+
1832
1865
  mod_generator!(
1833
1866
  edge143,
1834
1867
  v132::build_emulation,
@@ -61,6 +61,7 @@ define_enum!(
61
61
  Chrome148 => ("chrome_148", v148::emulation),
62
62
  Chrome149 => ("chrome_149", v149::emulation),
63
63
  Chrome150 => ("chrome_150", v150::emulation),
64
+ Chrome151 => ("chrome_151", v151::emulation),
64
65
 
65
66
  // Edge versions
66
67
  Edge101 => ("edge_101", edge101::emulation),
@@ -95,26 +95,20 @@ async fn assert_emulation_headers(profile: Profile, expected: &'static [&'static
95
95
  #[tokio::test]
96
96
  async fn test_client_emulation_device() {
97
97
  let server = server::http(move |req| async move {
98
- for (name, value) in req.headers() {
99
- if name == "user-agent" {
100
- assert_eq!(
101
- value,
102
- "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36"
103
- );
104
- }
105
- if name == "sec-ch-ua" {
106
- assert_eq!(
107
- value,
108
- r#""Not(A:Brand";v="99", "Google Chrome";v="133", "Chromium";v="133""#
109
- );
110
- }
111
- if name == "sec-ch-ua-mobile" {
112
- assert_eq!(value, "?0");
113
- }
114
- if name == "sec-ch-ua-platform" {
115
- assert_eq!(value, "\"Linux\"");
116
- }
117
- }
98
+ let header = |name| req.headers().get(name).and_then(|value| value.to_str().ok());
99
+
100
+ assert_eq!(
101
+ header("user-agent"),
102
+ Some(
103
+ "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36"
104
+ )
105
+ );
106
+ assert_eq!(
107
+ header("sec-ch-ua"),
108
+ Some(r#""Not=A?Brand";v="99", "Google Chrome";v="151", "Chromium";v="151""#)
109
+ );
110
+ assert_eq!(header("sec-ch-ua-mobile"), Some("?0"));
111
+ assert_eq!(header("sec-ch-ua-platform"), Some("\"Linux\""));
118
112
  http::Response::default()
119
113
  });
120
114
 
@@ -122,7 +116,7 @@ async fn test_client_emulation_device() {
122
116
  let res = Client::builder()
123
117
  .emulation(
124
118
  Emulation::builder()
125
- .profile(Emulation::Chrome133)
119
+ .profile(Emulation::Chrome151)
126
120
  .platform(Platform::Linux)
127
121
  .http2(true)
128
122
  .build(),
@@ -268,3 +268,10 @@ test_emulation!(
268
268
  ["t13d1516h2_8daaf6152771_d8a2da3f94cd"],
269
269
  "52d84b11737d980aef856699f885ca86"
270
270
  );
271
+
272
+ test_emulation!(
273
+ test_chrome151,
274
+ Emulation::Chrome151,
275
+ ["t13d1516h2_8daaf6152771_806a8c22fdea"],
276
+ "52d84b11737d980aef856699f885ca86"
277
+ );
@@ -62,6 +62,7 @@ module Wreq
62
62
  Chrome148 = nil
63
63
  Chrome149 = nil
64
64
  Chrome150 = nil
65
+ Chrome151 = nil
65
66
 
66
67
  Edge101 = nil
67
68
  Edge122 = nil
data/src/emulate.rs CHANGED
@@ -87,6 +87,7 @@ define_ruby_enum!(
87
87
  Chrome148,
88
88
  Chrome149,
89
89
  Chrome150,
90
+ Chrome151,
90
91
 
91
92
  Edge101,
92
93
  Edge122,
@@ -11,6 +11,13 @@ class EmulationTest < Minitest::Test
11
11
  end
12
12
  end
13
13
 
14
+ def test_chrome151_profile_is_available
15
+ profile = Wreq::Profile::Chrome151
16
+
17
+ assert_equal "Chrome151", profile.to_s
18
+ assert_instance_of Wreq::Emulation, Wreq::Emulation.new(profile: profile)
19
+ end
20
+
14
21
  def test_all_emulation_os_constants_are_non_nil
15
22
  Wreq::Platform.constants.each do |name|
16
23
  const = Wreq::Platform.const_get(name)
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.2.9
4
+ version: 1.2.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - SearchApi