wreq 1.3.1-x86_64-linux → 1.3.2-x86_64-linux
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 +4 -4
- data/README.md +1 -1
- data/crates/wreq-util/CHANGELOG.md +1 -0
- data/lib/wreq.rb +9 -9
- data/lib/wreq_ruby/3.3/wreq_ruby.so +0 -0
- data/lib/wreq_ruby/3.4/wreq_ruby.so +0 -0
- data/lib/wreq_ruby/4.0/wreq_ruby.so +0 -0
- data/lib/wreq_ruby/client.rb +12 -12
- data/lib/wreq_ruby/emulate.rb +3 -2
- data/test/emulation_test.rb +2 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d446d7d4df719ac2177ca9f71f68caa98185ab8b9de371fae6ce76c2dc4a9fb7
|
|
4
|
+
data.tar.gz: cdd5d9681ca82f0f7834e8eda65879bb7c989c45f594bd8928eb3d169a757896
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 20e41bdf84dbfafc80048deac87771b6dd1e97ddb37733f2e6b8f7eb4ae9607e402a44c127cc347cbe7308487c2c8ab388d90d6d2ceac89eb2e2b59811ffbc88
|
|
7
|
+
data.tar.gz: 6856edc7843260d7fdb1c8bf1fd6b3502a36db92c7d4a47c84294d4e38b2970dbea04b827e1574aeac8149a5ffca99b33c91658aa18c122a68e425c51ad3e77a
|
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`, `Chrome150`, `Chrome151`, `Chrome152`, `Chrome153`, `Chrome154`, `Chrome155` |
|
|
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`, `Chrome152`, `Chrome153`, `Chrome154`, `Chrome155`, `Chrome156` |
|
|
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`, `Firefox152` |
|
|
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` |
|
|
@@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
14
14
|
- *(emulate)* Add Chrome 153 profile.
|
|
15
15
|
- *(emulate)* Add Chrome 154 profile.
|
|
16
16
|
- *(emulate)* Add Chrome 155 profile, including the JPEG XL navigation Accept header.
|
|
17
|
+
- *(emulate)* Add Chrome 156 profile.
|
|
17
18
|
- *(emulate)* Add Firefox 152 profile.
|
|
18
19
|
|
|
19
20
|
### Fixed
|
data/lib/wreq.rb
CHANGED
|
@@ -76,7 +76,7 @@ unless defined?(Wreq)
|
|
|
76
76
|
# @param deflate [Boolean, nil] Enable deflate compression
|
|
77
77
|
# @param zstd [Boolean, nil] Enable Zstandard compression
|
|
78
78
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
79
|
-
# @param read_timeout [Integer, nil]
|
|
79
|
+
# @param read_timeout [Integer, nil] Timeout for headers or each body chunk (seconds)
|
|
80
80
|
# @param proxy [String, nil] Proxy server URI
|
|
81
81
|
# @param local_address [String, nil] Bind the client's local source IP address (IPv4/IPv6). Useful on multi-homed hosts to originate connections from a specific address or enforce source routing. Examples: "192.168.1.10", "10.0.0.5", "2001:db8::1". The address must exist on the host and be routable or the connection may fail.
|
|
82
82
|
# @param interface [String, nil] Bind to an interface on supported platforms; unsupported platforms raise ArgumentError.
|
|
@@ -110,7 +110,7 @@ unless defined?(Wreq)
|
|
|
110
110
|
# @param deflate [Boolean, nil] Enable deflate compression
|
|
111
111
|
# @param zstd [Boolean, nil] Enable Zstandard compression
|
|
112
112
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
113
|
-
# @param read_timeout [Integer, nil]
|
|
113
|
+
# @param read_timeout [Integer, nil] Timeout for headers or each body chunk (seconds)
|
|
114
114
|
# @param proxy [String, nil] Proxy server URI
|
|
115
115
|
# @param local_address [String, nil] Bind the client's local source IP address (IPv4/IPv6). Useful on multi-homed hosts to originate connections from a specific address or enforce source routing. Examples: "192.168.1.10", "10.0.0.5", "2001:db8::1". The address must exist on the host and be routable or the connection may fail.
|
|
116
116
|
# @param interface [String, nil] Bind to an interface on supported platforms; unsupported platforms raise ArgumentError.
|
|
@@ -144,7 +144,7 @@ unless defined?(Wreq)
|
|
|
144
144
|
# @param deflate [Boolean, nil] Enable deflate compression
|
|
145
145
|
# @param zstd [Boolean, nil] Enable Zstandard compression
|
|
146
146
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
147
|
-
# @param read_timeout [Integer, nil]
|
|
147
|
+
# @param read_timeout [Integer, nil] Timeout for headers or each body chunk (seconds)
|
|
148
148
|
# @param proxy [String, nil] Proxy server URI
|
|
149
149
|
# @param local_address [String, nil] Bind the client's local source IP address (IPv4/IPv6). Useful on multi-homed hosts to originate connections from a specific address or enforce source routing. Examples: "192.168.1.10", "10.0.0.5", "2001:db8::1". The address must exist on the host and be routable or the connection may fail.
|
|
150
150
|
# @param interface [String, nil] Bind to an interface on supported platforms; unsupported platforms raise ArgumentError.
|
|
@@ -178,7 +178,7 @@ unless defined?(Wreq)
|
|
|
178
178
|
# @param deflate [Boolean, nil] Enable deflate compression
|
|
179
179
|
# @param zstd [Boolean, nil] Enable Zstandard compression
|
|
180
180
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
181
|
-
# @param read_timeout [Integer, nil]
|
|
181
|
+
# @param read_timeout [Integer, nil] Timeout for headers or each body chunk (seconds)
|
|
182
182
|
# @param proxy [String, nil] Proxy server URI
|
|
183
183
|
# @param local_address [String, nil] Bind the client's local source IP address (IPv4/IPv6). Useful on multi-homed hosts to originate connections from a specific address or enforce source routing. Examples: "192.168.1.10", "10.0.0.5", "2001:db8::1". The address must exist on the host and be routable or the connection may fail.
|
|
184
184
|
# @param interface [String, nil] Bind to an interface on supported platforms; unsupported platforms raise ArgumentError.
|
|
@@ -212,7 +212,7 @@ unless defined?(Wreq)
|
|
|
212
212
|
# @param deflate [Boolean, nil] Enable deflate compression
|
|
213
213
|
# @param zstd [Boolean, nil] Enable Zstandard compression
|
|
214
214
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
215
|
-
# @param read_timeout [Integer, nil]
|
|
215
|
+
# @param read_timeout [Integer, nil] Timeout for headers or each body chunk (seconds)
|
|
216
216
|
# @param proxy [String, nil] Proxy server URI
|
|
217
217
|
# @param local_address [String, nil] Bind the client's local source IP address (IPv4/IPv6). Useful on multi-homed hosts to originate connections from a specific address or enforce source routing. Examples: "192.168.1.10", "10.0.0.5", "2001:db8::1". The address must exist on the host and be routable or the connection may fail.
|
|
218
218
|
# @param interface [String, nil] Bind to an interface on supported platforms; unsupported platforms raise ArgumentError.
|
|
@@ -246,7 +246,7 @@ unless defined?(Wreq)
|
|
|
246
246
|
# @param deflate [Boolean, nil] Enable deflate compression
|
|
247
247
|
# @param zstd [Boolean, nil] Enable Zstandard compression
|
|
248
248
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
249
|
-
# @param read_timeout [Integer, nil]
|
|
249
|
+
# @param read_timeout [Integer, nil] Timeout for headers or each body chunk (seconds)
|
|
250
250
|
# @param proxy [String, nil] Proxy server URI
|
|
251
251
|
# @param local_address [String, nil] Bind the client's local source IP address (IPv4/IPv6). Useful on multi-homed hosts to originate connections from a specific address or enforce source routing. Examples: "192.168.1.10", "10.0.0.5", "2001:db8::1". The address must exist on the host and be routable or the connection may fail.
|
|
252
252
|
# @param interface [String, nil] Bind to an interface on supported platforms; unsupported platforms raise ArgumentError.
|
|
@@ -280,7 +280,7 @@ unless defined?(Wreq)
|
|
|
280
280
|
# @param deflate [Boolean, nil] Enable deflate compression
|
|
281
281
|
# @param zstd [Boolean, nil] Enable Zstandard compression
|
|
282
282
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
283
|
-
# @param read_timeout [Integer, nil]
|
|
283
|
+
# @param read_timeout [Integer, nil] Timeout for headers or each body chunk (seconds)
|
|
284
284
|
# @param proxy [String, nil] Proxy server URI
|
|
285
285
|
# @param local_address [String, nil] Bind the client's local source IP address (IPv4/IPv6). Useful on multi-homed hosts to originate connections from a specific address or enforce source routing. Examples: "192.168.1.10", "10.0.0.5", "2001:db8::1". The address must exist on the host and be routable or the connection may fail.
|
|
286
286
|
# @param interface [String, nil] Bind to an interface on supported platforms; unsupported platforms raise ArgumentError.
|
|
@@ -314,7 +314,7 @@ unless defined?(Wreq)
|
|
|
314
314
|
# @param deflate [Boolean, nil] Enable deflate compression
|
|
315
315
|
# @param zstd [Boolean, nil] Enable Zstandard compression
|
|
316
316
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
317
|
-
# @param read_timeout [Integer, nil]
|
|
317
|
+
# @param read_timeout [Integer, nil] Timeout for headers or each body chunk (seconds)
|
|
318
318
|
# @param proxy [String, nil] Proxy server URI
|
|
319
319
|
# @param local_address [String, nil] Bind the client's local source IP address (IPv4/IPv6). Useful on multi-homed hosts to originate connections from a specific address or enforce source routing. Examples: "192.168.1.10", "10.0.0.5", "2001:db8::1". The address must exist on the host and be routable or the connection may fail.
|
|
320
320
|
# @param interface [String, nil] Bind to an interface on supported platforms; unsupported platforms raise ArgumentError.
|
|
@@ -348,7 +348,7 @@ unless defined?(Wreq)
|
|
|
348
348
|
# @param deflate [Boolean, nil] Enable deflate compression
|
|
349
349
|
# @param zstd [Boolean, nil] Enable Zstandard compression
|
|
350
350
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
351
|
-
# @param read_timeout [Integer, nil]
|
|
351
|
+
# @param read_timeout [Integer, nil] Timeout for headers or each body chunk (seconds)
|
|
352
352
|
# @param proxy [String, nil] Proxy server URI
|
|
353
353
|
# @param local_address [String, nil] Bind the client's local source IP address (IPv4/IPv6). Useful on multi-homed hosts to originate connections from a specific address or enforce source routing. Examples: "192.168.1.10", "10.0.0.5", "2001:db8::1". The address must exist on the host and be routable or the connection may fail.
|
|
354
354
|
# @param interface [String, nil] Bind to an interface on supported platforms; unsupported platforms raise ArgumentError.
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
data/lib/wreq_ruby/client.rb
CHANGED
|
@@ -84,8 +84,8 @@ unless defined?(Wreq)
|
|
|
84
84
|
# from the overall timeout.
|
|
85
85
|
#
|
|
86
86
|
# @param read_timeout [Integer, nil] Maximum time in seconds to wait
|
|
87
|
-
#
|
|
88
|
-
#
|
|
87
|
+
# for response headers or each body chunk. Time spent by the caller
|
|
88
|
+
# between body reads is excluded. Defaults to no read timeout.
|
|
89
89
|
#
|
|
90
90
|
# @param tcp_keepalive [Integer, nil] Time in seconds that a connection
|
|
91
91
|
# must be idle before TCP keepalive probes are sent. Helps detect
|
|
@@ -196,7 +196,7 @@ unless defined?(Wreq)
|
|
|
196
196
|
# client = Wreq::Client.new(
|
|
197
197
|
# timeout: 30, # 30 seconds total
|
|
198
198
|
# connect_timeout: 5, # 5 seconds to connect
|
|
199
|
-
# read_timeout: 10 # 10 seconds
|
|
199
|
+
# read_timeout: 10 # 10 seconds for headers or each body read
|
|
200
200
|
# )
|
|
201
201
|
#
|
|
202
202
|
# @example Client with redirect handling
|
|
@@ -280,7 +280,7 @@ unless defined?(Wreq)
|
|
|
280
280
|
# @param deflate [Boolean, nil] Enable deflate compression
|
|
281
281
|
# @param zstd [Boolean, nil] Enable Zstandard compression
|
|
282
282
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
283
|
-
# @param read_timeout [Integer, nil]
|
|
283
|
+
# @param read_timeout [Integer, nil] Timeout for headers or each body chunk (seconds)
|
|
284
284
|
# @param proxy [String, nil] Proxy server URI
|
|
285
285
|
# @param local_address [String, nil] Bind the request's local source IP address (IPv4/IPv6). Useful on multi-homed hosts to originate connections from a specific address or enforce source routing. Examples: "192.168.1.10", "10.0.0.5", "2001:db8::1". The address must exist on the host and be routable or the connection may fail.
|
|
286
286
|
# @param interface [String, nil] Bind to an interface on supported platforms; unsupported platforms raise ArgumentError.
|
|
@@ -316,7 +316,7 @@ unless defined?(Wreq)
|
|
|
316
316
|
# @param deflate [Boolean, nil] Enable deflate compression
|
|
317
317
|
# @param zstd [Boolean, nil] Enable Zstandard compression
|
|
318
318
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
319
|
-
# @param read_timeout [Integer, nil]
|
|
319
|
+
# @param read_timeout [Integer, nil] Timeout for headers or each body chunk (seconds)
|
|
320
320
|
# @param proxy [String, nil] Proxy server URI
|
|
321
321
|
# @param local_address [String, nil] Bind the request's local source IP address (IPv4/IPv6). Useful on multi-homed hosts to originate connections from a specific address or enforce source routing. Examples: "192.168.1.10", "10.0.0.5", "2001:db8::1". The address must exist on the host and be routable or the connection may fail.
|
|
322
322
|
# @param interface [String, nil] Bind to an interface on supported platforms; unsupported platforms raise ArgumentError.
|
|
@@ -350,7 +350,7 @@ unless defined?(Wreq)
|
|
|
350
350
|
# @param deflate [Boolean, nil] Enable deflate compression
|
|
351
351
|
# @param zstd [Boolean, nil] Enable Zstandard compression
|
|
352
352
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
353
|
-
# @param read_timeout [Integer, nil]
|
|
353
|
+
# @param read_timeout [Integer, nil] Timeout for headers or each body chunk (seconds)
|
|
354
354
|
# @param proxy [String, nil] Proxy server URI
|
|
355
355
|
# @param local_address [String, nil] Bind the request's local source IP address (IPv4/IPv6). Useful on multi-homed hosts to originate connections from a specific address or enforce source routing. Examples: "192.168.1.10", "10.0.0.5", "2001:db8::1". The address must exist on the host and be routable or the connection may fail.
|
|
356
356
|
# @param interface [String, nil] Bind to an interface on supported platforms; unsupported platforms raise ArgumentError.
|
|
@@ -384,7 +384,7 @@ unless defined?(Wreq)
|
|
|
384
384
|
# @param deflate [Boolean, nil] Enable deflate compression
|
|
385
385
|
# @param zstd [Boolean, nil] Enable Zstandard compression
|
|
386
386
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
387
|
-
# @param read_timeout [Integer, nil]
|
|
387
|
+
# @param read_timeout [Integer, nil] Timeout for headers or each body chunk (seconds)
|
|
388
388
|
# @param proxy [String, nil] Proxy server URI
|
|
389
389
|
# @param local_address [String, nil] Bind the request's local source IP address (IPv4/IPv6). Useful on multi-homed hosts to originate connections from a specific address or enforce source routing. Examples: "192.168.1.10", "10.0.0.5", "2001:db8::1". The address must exist on the host and be routable or the connection may fail.
|
|
390
390
|
# @param interface [String, nil] Bind to an interface on supported platforms; unsupported platforms raise ArgumentError.
|
|
@@ -418,7 +418,7 @@ unless defined?(Wreq)
|
|
|
418
418
|
# @param deflate [Boolean, nil] Enable deflate compression
|
|
419
419
|
# @param zstd [Boolean, nil] Enable Zstandard compression
|
|
420
420
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
421
|
-
# @param read_timeout [Integer, nil]
|
|
421
|
+
# @param read_timeout [Integer, nil] Timeout for headers or each body chunk (seconds)
|
|
422
422
|
# @param proxy [String, nil] Proxy server URI
|
|
423
423
|
# @param local_address [String, nil] Bind the request's local source IP address (IPv4/IPv6). Useful on multi-homed hosts to originate connections from a specific address or enforce source routing. Examples: "192.168.1.10", "10.0.0.5", "2001:db8::1". The address must exist on the host and be routable or the connection may fail.
|
|
424
424
|
# @param interface [String, nil] Bind to an interface on supported platforms; unsupported platforms raise ArgumentError.
|
|
@@ -452,7 +452,7 @@ unless defined?(Wreq)
|
|
|
452
452
|
# @param deflate [Boolean, nil] Enable deflate compression
|
|
453
453
|
# @param zstd [Boolean, nil] Enable Zstandard compression
|
|
454
454
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
455
|
-
# @param read_timeout [Integer, nil]
|
|
455
|
+
# @param read_timeout [Integer, nil] Timeout for headers or each body chunk (seconds)
|
|
456
456
|
# @param proxy [String, nil] Proxy server URI
|
|
457
457
|
# @param local_address [String, nil] Bind the request's local source IP address (IPv4/IPv6). Useful on multi-homed hosts to originate connections from a specific address or enforce source routing. Examples: "192.168.1.10", "10.0.0.5", "2001:db8::1". The address must exist on the host and be routable or the connection may fail.
|
|
458
458
|
# @param interface [String, nil] Bind to an interface on supported platforms; unsupported platforms raise ArgumentError.
|
|
@@ -486,7 +486,7 @@ unless defined?(Wreq)
|
|
|
486
486
|
# @param deflate [Boolean, nil] Enable deflate compression
|
|
487
487
|
# @param zstd [Boolean, nil] Enable Zstandard compression
|
|
488
488
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
489
|
-
# @param read_timeout [Integer, nil]
|
|
489
|
+
# @param read_timeout [Integer, nil] Timeout for headers or each body chunk (seconds)
|
|
490
490
|
# @param proxy [String, nil] Proxy server URI
|
|
491
491
|
# @param local_address [String, nil] Bind the request's local source IP address (IPv4/IPv6). Useful on multi-homed hosts to originate connections from a specific address or enforce source routing. Examples: "192.168.1.10", "10.0.0.5", "2001:db8::1". The address must exist on the host and be routable or the connection may fail.
|
|
492
492
|
# @param interface [String, nil] Bind to an interface on supported platforms; unsupported platforms raise ArgumentError.
|
|
@@ -520,7 +520,7 @@ unless defined?(Wreq)
|
|
|
520
520
|
# @param deflate [Boolean, nil] Enable deflate compression
|
|
521
521
|
# @param zstd [Boolean, nil] Enable Zstandard compression
|
|
522
522
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
523
|
-
# @param read_timeout [Integer, nil]
|
|
523
|
+
# @param read_timeout [Integer, nil] Timeout for headers or each body chunk (seconds)
|
|
524
524
|
# @param proxy [String, nil] Proxy server URI
|
|
525
525
|
# @param local_address [String, nil] Bind the request's local source IP address (IPv4/IPv6). Useful on multi-homed hosts to originate connections from a specific address or enforce source routing. Examples: "192.168.1.10", "10.0.0.5", "2001:db8::1". The address must exist on the host and be routable or the connection may fail.
|
|
526
526
|
# @param interface [String, nil] Bind to an interface on supported platforms; unsupported platforms raise ArgumentError.
|
|
@@ -554,7 +554,7 @@ unless defined?(Wreq)
|
|
|
554
554
|
# @param deflate [Boolean, nil] Enable deflate compression
|
|
555
555
|
# @param zstd [Boolean, nil] Enable Zstandard compression
|
|
556
556
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
557
|
-
# @param read_timeout [Integer, nil]
|
|
557
|
+
# @param read_timeout [Integer, nil] Timeout for headers or each body chunk (seconds)
|
|
558
558
|
# @param proxy [String, nil] Proxy server URI
|
|
559
559
|
# @param local_address [String, nil] Bind the request's local source IP address (IPv4/IPv6). Useful on multi-homed hosts to originate connections from a specific address or enforce source routing. Examples: "192.168.1.10", "10.0.0.5", "2001:db8::1". The address must exist on the host and be routable or the connection may fail.
|
|
560
560
|
# @param interface [String, nil] Bind to an interface on supported platforms; unsupported platforms raise ArgumentError.
|
data/lib/wreq_ruby/emulate.rb
CHANGED
|
@@ -67,6 +67,7 @@ module Wreq
|
|
|
67
67
|
Chrome153 = nil
|
|
68
68
|
Chrome154 = nil
|
|
69
69
|
Chrome155 = nil
|
|
70
|
+
Chrome156 = nil
|
|
70
71
|
|
|
71
72
|
Edge101 = nil
|
|
72
73
|
Edge122 = nil
|
|
@@ -267,7 +268,7 @@ module Wreq
|
|
|
267
268
|
#
|
|
268
269
|
# Construction generates the native configuration once. For Chrome 152/153,
|
|
269
270
|
# the TLS trust_anchors extension's ID order is randomized at construction;
|
|
270
|
-
# Chrome 154
|
|
271
|
+
# Chrome 154–156 sort those IDs by their raw bytes instead. Reusing this object
|
|
271
272
|
# across clients or requests retains that order. Creating a new object generates
|
|
272
273
|
# a new configuration, including a fresh shuffle for Chrome 152/153.
|
|
273
274
|
# This does not freeze other per-handshake randomness or force a new handshake
|
|
@@ -299,7 +300,7 @@ module Wreq
|
|
|
299
300
|
# This stub is for documentation only.
|
|
300
301
|
unless singleton_methods(false).include?(:new)
|
|
301
302
|
# Generates a reusable native configuration. Chrome 152/153 Trust Anchor ID
|
|
302
|
-
# order is chosen here and retained when this object is reused; Chrome 154
|
|
303
|
+
# order is chosen here and retained when this object is reused; Chrome 154–156
|
|
303
304
|
# use raw-byte sorted order. See {Emulation} for connection semantics.
|
|
304
305
|
#
|
|
305
306
|
# @param profile [Wreq::Profile, nil] Fingerprint profile to emulate
|
data/test/emulation_test.rb
CHANGED
|
@@ -7,7 +7,7 @@ require "timeout"
|
|
|
7
7
|
|
|
8
8
|
class EmulationTest < Minitest::Test
|
|
9
9
|
def test_reused_emulation_retains_trust_anchors_across_clients_and_requests
|
|
10
|
-
[Wreq::Profile::Chrome152, Wreq::Profile::Chrome153, Wreq::Profile::Chrome154, Wreq::Profile::Chrome155].each do |profile|
|
|
10
|
+
[Wreq::Profile::Chrome152, Wreq::Profile::Chrome153, Wreq::Profile::Chrome154, Wreq::Profile::Chrome155, Wreq::Profile::Chrome156].each do |profile|
|
|
11
11
|
emulation = Wreq::Emulation.new(profile: profile)
|
|
12
12
|
client = Wreq::Client.new(emulation: emulation, no_proxy: true)
|
|
13
13
|
expected = capture_trust_anchors { |url| client.get(url, timeout: 5) }
|
|
@@ -44,6 +44,7 @@ class EmulationTest < Minitest::Test
|
|
|
44
44
|
Wreq::Profile::Chrome153 => "Chrome153",
|
|
45
45
|
Wreq::Profile::Chrome154 => "Chrome154",
|
|
46
46
|
Wreq::Profile::Chrome155 => "Chrome155",
|
|
47
|
+
Wreq::Profile::Chrome156 => "Chrome156",
|
|
47
48
|
Wreq::Profile::Firefox152 => "Firefox152"
|
|
48
49
|
}.each do |profile, name|
|
|
49
50
|
assert_equal name, profile.to_s
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: wreq
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.3.
|
|
4
|
+
version: 1.3.2
|
|
5
5
|
platform: x86_64-linux
|
|
6
6
|
authors:
|
|
7
7
|
- SearchApi
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-11-03 00:00:00.000000000 Z
|
|
12
12
|
dependencies: []
|
|
13
13
|
description: An easy and powerful Ruby HTTP client with advanced browser fingerprinting
|
|
14
14
|
that accurately emulates Chrome, Edge, Firefox, Safari, Opera, and OkHttp with precise
|