wreq 1.0.0-aarch64-linux → 1.2.0-aarch64-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 +8 -8
- data/examples/cookie.rb +24 -0
- data/examples/{emulation_request.rb → emulate_request.rb} +8 -8
- data/lib/wreq.rb +45 -55
- 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 +71 -63
- data/lib/wreq_ruby/cookie.rb +21 -9
- data/lib/wreq_ruby/{emulation.rb → emulate.rb} +74 -29
- data/lib/wreq_ruby/error.rb +1 -3
- data/lib/wreq_ruby/header.rb +8 -0
- data/lib/wreq_ruby/http.rb +14 -0
- data/lib/wreq_ruby/response.rb +22 -21
- data/test/client_cookie_test.rb +1 -1
- data/test/cookie_test.rb +30 -16
- data/test/emulation_test.rb +8 -8
- data/test/error_handling_test.rb +4 -1
- data/test/inspect_test.rb +125 -0
- data/test/stream_test.rb +292 -2
- metadata +6 -4
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 16fbb07d2e1aedb102715b19517f37849872ced39969480a86c04a793ab7ae1f
|
|
4
|
+
data.tar.gz: 4f2730784e0dbebbf44dd64ecd82d4667f68946baaecda309ed4c02efb1ea1ac
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3af08ec562f5df7920dcef1dc738b606c2699fe390edf1a7ccb631c93ca2c1e7d66cce4cf498a4c0046675ba3f90b60d10b42c1d132098a3f6f616a9f6b13a17
|
|
7
|
+
data.tar.gz: 85ba8d1e871967b88216e06eecf4aa4e8fe61f4321fc79f9f54b75aa7c9fb642d1e7cb70a664dbb6f1ee0ea6edbc0cff9727c8498e8dab37644aad2a21d375ec
|
data/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# wreq-ruby
|
|
2
2
|
|
|
3
|
-
[](https://rubygems.org/gems/wreq)
|
|
4
3
|
[](https://github.com/SearchApi/wreq-ruby/actions/workflows/ci.yml)
|
|
4
|
+
[](https://rubygems.org/gems/wreq)
|
|
5
5
|
|
|
6
6
|
An easy and powerful Ruby HTTP client with advanced browser fingerprinting that accurately emulates **Chrome**, **Edge**, **Firefox**, **Safari**, **Opera**, and **OkHttp**, with precise **TLS/HTTP2** signatures, and powered by [wreq](https://github.com/0x676e67/wreq).
|
|
7
7
|
|
|
@@ -41,10 +41,10 @@ require "wreq"
|
|
|
41
41
|
|
|
42
42
|
# Build a client
|
|
43
43
|
client = Wreq::Client.new(emulation: Wreq::Emulation.new(
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
profile: Wreq::Profile::Chrome148,
|
|
45
|
+
platform: Wreq::Platform::MacOS,
|
|
46
|
+
http2: true,
|
|
47
|
+
headers: true
|
|
48
48
|
))
|
|
49
49
|
|
|
50
50
|
# Use the API you're already familiar with
|
|
@@ -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` |
|
data/examples/cookie.rb
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
require_relative "../lib/wreq"
|
|
4
|
+
|
|
5
|
+
# Make a client
|
|
6
|
+
client = Wreq::Client.new
|
|
7
|
+
|
|
8
|
+
# Send a GET request with cookies provided as a Hash.
|
|
9
|
+
# This form is serialized as multiple Cookie header fields (common in HTTP/2).
|
|
10
|
+
resp = client.get(
|
|
11
|
+
"https://tls.browserleaks.com",
|
|
12
|
+
cookies: {"foo" => "bar", "baz" => "qux"}
|
|
13
|
+
)
|
|
14
|
+
|
|
15
|
+
puts resp.text
|
|
16
|
+
|
|
17
|
+
# Send a GET request with cookies provided as a single Cookie header string.
|
|
18
|
+
# This form is common in HTTP/1.1: one Cookie header with '; ' separated pairs.
|
|
19
|
+
resp = client.get(
|
|
20
|
+
"https://tls.browserleaks.com",
|
|
21
|
+
cookies: "foo=bar; baz=qux"
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
puts resp.text
|
|
@@ -11,10 +11,10 @@ require_relative "../lib/wreq"
|
|
|
11
11
|
# Set when creating the Wreq::Client instance.
|
|
12
12
|
# All requests from this client will use the specified emulation unless overridden.
|
|
13
13
|
client = Wreq::Client.new(emulation: Wreq::Emulation.new(
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
profile: Wreq::Profile::Chrome142,
|
|
15
|
+
platform: Wreq::Platform::MacOS,
|
|
16
|
+
http2: true,
|
|
17
|
+
headers: true
|
|
18
18
|
))
|
|
19
19
|
|
|
20
20
|
resp = client.get("https://tls.peet.ws/api/all")
|
|
@@ -26,10 +26,10 @@ puts resp.text
|
|
|
26
26
|
resp = client.get(
|
|
27
27
|
"https://tls.peet.ws/api/all",
|
|
28
28
|
emulation: Wreq::Emulation.new(
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
29
|
+
profile: Wreq::Profile::Safari26,
|
|
30
|
+
platform: Wreq::Platform::MacOS,
|
|
31
|
+
http2: true,
|
|
32
|
+
headers: true
|
|
33
33
|
),
|
|
34
34
|
# Skip client default headers for this request
|
|
35
35
|
default_headers: false
|
data/lib/wreq.rb
CHANGED
|
@@ -24,17 +24,14 @@ unless defined?(Wreq)
|
|
|
24
24
|
#
|
|
25
25
|
# @param method [Wreq::Method] HTTP method to use
|
|
26
26
|
# @param url [String] Target URL
|
|
27
|
-
# @param headers [Hash{String=>String}, nil] Custom headers for this request
|
|
27
|
+
# @param headers [Wreq::Headers, Hash{String=>String}, nil] Custom headers for this request
|
|
28
28
|
# @param orig_headers [Hash{String=>String}, nil] Original headers (raw, unmodified)
|
|
29
29
|
# @param default_headers [Hash{String=>String}, nil] Default headers to merge
|
|
30
30
|
# @param query [Hash, nil] URL query parameters
|
|
31
|
-
# @param form [Hash{String=>String}, nil] Form data (application/x-www-form-urlencoded)
|
|
32
|
-
# @param json [Object, nil] JSON body (will be serialized)
|
|
33
|
-
# @param body [String, IO, nil] Raw request body (string or stream)
|
|
34
31
|
# @param auth [String, nil] Authorization header value
|
|
35
32
|
# @param bearer_auth [String, nil] Bearer token for Authorization header
|
|
36
33
|
# @param basic_auth [Array<String>, nil] Username and password for basic auth
|
|
37
|
-
# @param cookies [
|
|
34
|
+
# @param cookies [Hash{String=>String}, String, nil] Cookies to send
|
|
38
35
|
# @param allow_redirects [Boolean, nil] Whether to follow redirects
|
|
39
36
|
# @param max_redirects [Integer, nil] Maximum number of redirects to follow
|
|
40
37
|
# @param gzip [Boolean, nil] Enable gzip compression
|
|
@@ -44,11 +41,13 @@ unless defined?(Wreq)
|
|
|
44
41
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
45
42
|
# @param read_timeout [Integer, nil] Per-chunk read timeout (seconds)
|
|
46
43
|
# @param proxy [String, nil] Proxy server URI
|
|
47
|
-
# @param no_proxy [Boolean, nil] Disable proxy for this request
|
|
48
44
|
# @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.
|
|
49
45
|
# @param interface [String, nil] Bind the socket to a specific network interface via `SO_BINDTODEVICE` (e.g., "eth0", "wlan0", "tun0"). Effective only on systems that support the option (Linux/Android/Fuchsia) and typically requires privileges (root or CAP_NET_ADMIN).
|
|
50
46
|
# @param emulation [Wreq::Emulation, nil] Device/OS emulation for this request
|
|
51
47
|
# @param version [Wreq::Version, nil] HTTP version to use
|
|
48
|
+
# @param form [Hash{String=>String}, nil] Form data (application/x-www-form-urlencoded)
|
|
49
|
+
# @param json [Object, nil] JSON body (will be serialized)
|
|
50
|
+
# @param body [String, IO, nil] Raw request body (string or stream)
|
|
52
51
|
# @return [Wreq::Response] HTTP response
|
|
53
52
|
def self.request(method, url, **options)
|
|
54
53
|
end
|
|
@@ -56,17 +55,14 @@ unless defined?(Wreq)
|
|
|
56
55
|
# Send an HTTP GET request.
|
|
57
56
|
#
|
|
58
57
|
# @param url [String] Target URL
|
|
59
|
-
# @param headers [Hash{String=>String}, nil] Custom headers for this request
|
|
58
|
+
# @param headers [Wreq::Headers, Hash{String=>String}, nil] Custom headers for this request
|
|
60
59
|
# @param orig_headers [Hash{String=>String}, nil] Original headers (raw, unmodified)
|
|
61
60
|
# @param default_headers [Hash{String=>String}, nil] Default headers to merge
|
|
62
61
|
# @param query [Hash, nil] URL query parameters
|
|
63
|
-
# @param form [Hash{String=>String}, nil] Form data (application/x-www-form-urlencoded)
|
|
64
|
-
# @param json [Object, nil] JSON body (will be serialized)
|
|
65
|
-
# @param body [String, IO, nil] Raw request body (string or stream)
|
|
66
62
|
# @param auth [String, nil] Authorization header value
|
|
67
63
|
# @param bearer_auth [String, nil] Bearer token for Authorization header
|
|
68
64
|
# @param basic_auth [Array<String>, nil] Username and password for basic auth
|
|
69
|
-
# @param cookies [
|
|
65
|
+
# @param cookies [Hash{String=>String}, String, nil] Cookies to send
|
|
70
66
|
# @param allow_redirects [Boolean, nil] Whether to follow redirects
|
|
71
67
|
# @param max_redirects [Integer, nil] Maximum number of redirects to follow
|
|
72
68
|
# @param gzip [Boolean, nil] Enable gzip compression
|
|
@@ -76,11 +72,13 @@ unless defined?(Wreq)
|
|
|
76
72
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
77
73
|
# @param read_timeout [Integer, nil] Per-chunk read timeout (seconds)
|
|
78
74
|
# @param proxy [String, nil] Proxy server URI
|
|
79
|
-
# @param no_proxy [Boolean, nil] Disable proxy for this request
|
|
80
75
|
# @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.
|
|
81
76
|
# @param interface [String, nil] Bind the socket to a specific network interface via `SO_BINDTODEVICE` (e.g., "eth0", "wlan0", "tun0"). Effective only on systems that support the option (Linux/Android/Fuchsia) and typically requires privileges (root or CAP_NET_ADMIN).
|
|
82
77
|
# @param emulation [Wreq::Emulation, nil] Device/OS emulation for this request
|
|
83
78
|
# @param version [Wreq::Version, nil] HTTP version to use
|
|
79
|
+
# @param form [Hash{String=>String}, nil] Form data (application/x-www-form-urlencoded)
|
|
80
|
+
# @param json [Object, nil] JSON body (will be serialized)
|
|
81
|
+
# @param body [String, IO, nil] Raw request body (string or stream)
|
|
84
82
|
# @return [Wreq::Response] HTTP response
|
|
85
83
|
def self.get(url, **options)
|
|
86
84
|
end
|
|
@@ -88,20 +86,16 @@ unless defined?(Wreq)
|
|
|
88
86
|
# Send an HTTP HEAD request.
|
|
89
87
|
#
|
|
90
88
|
# @param url [String] Target URL
|
|
91
|
-
# @param headers [Hash{String=>String}, nil] Custom headers for this request
|
|
89
|
+
# @param headers [Wreq::Headers, Hash{String=>String}, nil] Custom headers for this request
|
|
92
90
|
# @param orig_headers [Hash{String=>String}, nil] Original headers (raw, unmodified)
|
|
93
91
|
# @param default_headers [Hash{String=>String}, nil] Default headers to merge
|
|
94
92
|
# @param query [Hash, nil] URL query parameters
|
|
95
|
-
# @param form [Hash{String=>String}, nil] Form data (application/x-www-form-urlencoded)
|
|
96
|
-
# @param json [Object, nil] JSON body (will be serialized)
|
|
97
|
-
# @param body [String, IO, nil] Raw request body (string or stream)
|
|
98
93
|
# @param auth [String, nil] Authorization header value
|
|
99
94
|
# @param bearer_auth [String, nil] Bearer token for Authorization header
|
|
100
95
|
# @param basic_auth [Array<String>, nil] Username and password for basic auth
|
|
101
|
-
# @param cookies [
|
|
96
|
+
# @param cookies [Hash{String=>String}, String, nil] Cookies to send
|
|
102
97
|
# @param allow_redirects [Boolean, nil] Whether to follow redirects
|
|
103
98
|
# @param max_redirects [Integer, nil] Maximum number of redirects to follow
|
|
104
|
-
|
|
105
99
|
# @param gzip [Boolean, nil] Enable gzip compression
|
|
106
100
|
# @param brotli [Boolean, nil] Enable Brotli compression
|
|
107
101
|
# @param deflate [Boolean, nil] Enable deflate compression
|
|
@@ -109,11 +103,13 @@ unless defined?(Wreq)
|
|
|
109
103
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
110
104
|
# @param read_timeout [Integer, nil] Per-chunk read timeout (seconds)
|
|
111
105
|
# @param proxy [String, nil] Proxy server URI
|
|
112
|
-
# @param no_proxy [Boolean, nil] Disable proxy for this request
|
|
113
106
|
# @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.
|
|
114
107
|
# @param interface [String, nil] Bind the socket to a specific network interface via `SO_BINDTODEVICE` (e.g., "eth0", "wlan0", "tun0"). Effective only on systems that support the option (Linux/Android/Fuchsia) and typically requires privileges (root or CAP_NET_ADMIN).
|
|
115
108
|
# @param emulation [Wreq::Emulation, nil] Device/OS emulation for this request
|
|
116
109
|
# @param version [Wreq::Version, nil] HTTP version to use
|
|
110
|
+
# @param form [Hash{String=>String}, nil] Form data (application/x-www-form-urlencoded)
|
|
111
|
+
# @param json [Object, nil] JSON body (will be serialized)
|
|
112
|
+
# @param body [String, IO, nil] Raw request body (string or stream)
|
|
117
113
|
# @return [Wreq::Response] HTTP response
|
|
118
114
|
def self.head(url, **options)
|
|
119
115
|
end
|
|
@@ -121,17 +117,14 @@ unless defined?(Wreq)
|
|
|
121
117
|
# Send an HTTP POST request.
|
|
122
118
|
#
|
|
123
119
|
# @param url [String] Target URL
|
|
124
|
-
# @param headers [Hash{String=>String}, nil] Custom headers for this request
|
|
120
|
+
# @param headers [Wreq::Headers, Hash{String=>String}, nil] Custom headers for this request
|
|
125
121
|
# @param orig_headers [Hash{String=>String}, nil] Original headers (raw, unmodified)
|
|
126
122
|
# @param default_headers [Hash{String=>String}, nil] Default headers to merge
|
|
127
123
|
# @param query [Hash, nil] URL query parameters
|
|
128
|
-
# @param form [Hash{String=>String}, nil] Form data (application/x-www-form-urlencoded)
|
|
129
|
-
# @param json [Object, nil] JSON body (will be serialized)
|
|
130
|
-
# @param body [String, IO, nil] Raw request body (string or stream)
|
|
131
124
|
# @param auth [String, nil] Authorization header value
|
|
132
125
|
# @param bearer_auth [String, nil] Bearer token for Authorization header
|
|
133
126
|
# @param basic_auth [Array<String>, nil] Username and password for basic auth
|
|
134
|
-
# @param cookies [
|
|
127
|
+
# @param cookies [Hash{String=>String}, String, nil] Cookies to send
|
|
135
128
|
# @param allow_redirects [Boolean, nil] Whether to follow redirects
|
|
136
129
|
# @param max_redirects [Integer, nil] Maximum number of redirects to follow
|
|
137
130
|
# @param gzip [Boolean, nil] Enable gzip compression
|
|
@@ -141,11 +134,13 @@ unless defined?(Wreq)
|
|
|
141
134
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
142
135
|
# @param read_timeout [Integer, nil] Per-chunk read timeout (seconds)
|
|
143
136
|
# @param proxy [String, nil] Proxy server URI
|
|
144
|
-
# @param no_proxy [Boolean, nil] Disable proxy for this request
|
|
145
137
|
# @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.
|
|
146
138
|
# @param interface [String, nil] Bind the socket to a specific network interface via `SO_BINDTODEVICE` (e.g., "eth0", "wlan0", "tun0"). Effective only on systems that support the option (Linux/Android/Fuchsia) and typically requires privileges (root or CAP_NET_ADMIN).
|
|
147
139
|
# @param emulation [Wreq::Emulation, nil] Device/OS emulation for this request
|
|
148
140
|
# @param version [Wreq::Version, nil] HTTP version to use
|
|
141
|
+
# @param form [Hash{String=>String}, nil] Form data (application/x-www-form-urlencoded)
|
|
142
|
+
# @param json [Object, nil] JSON body (will be serialized)
|
|
143
|
+
# @param body [String, IO, nil] Raw request body (string or stream)
|
|
149
144
|
# @return [Wreq::Response] HTTP response
|
|
150
145
|
def self.post(url, **options)
|
|
151
146
|
end
|
|
@@ -153,17 +148,14 @@ unless defined?(Wreq)
|
|
|
153
148
|
# Send an HTTP PUT request.
|
|
154
149
|
#
|
|
155
150
|
# @param url [String] Target URL
|
|
156
|
-
# @param headers [Hash{String=>String}, nil] Custom headers for this request
|
|
151
|
+
# @param headers [Wreq::Headers, Hash{String=>String}, nil] Custom headers for this request
|
|
157
152
|
# @param orig_headers [Hash{String=>String}, nil] Original headers (raw, unmodified)
|
|
158
153
|
# @param default_headers [Hash{String=>String}, nil] Default headers to merge
|
|
159
154
|
# @param query [Hash, nil] URL query parameters
|
|
160
|
-
# @param form [Hash{String=>String}, nil] Form data (application/x-www-form-urlencoded)
|
|
161
|
-
# @param json [Object, nil] JSON body (will be serialized)
|
|
162
|
-
# @param body [String, IO, nil] Raw request body (string or stream)
|
|
163
155
|
# @param auth [String, nil] Authorization header value
|
|
164
156
|
# @param bearer_auth [String, nil] Bearer token for Authorization header
|
|
165
157
|
# @param basic_auth [Array<String>, nil] Username and password for basic auth
|
|
166
|
-
# @param cookies [
|
|
158
|
+
# @param cookies [Hash{String=>String}, String, nil] Cookies to send
|
|
167
159
|
# @param allow_redirects [Boolean, nil] Whether to follow redirects
|
|
168
160
|
# @param max_redirects [Integer, nil] Maximum number of redirects to follow
|
|
169
161
|
# @param gzip [Boolean, nil] Enable gzip compression
|
|
@@ -173,11 +165,13 @@ unless defined?(Wreq)
|
|
|
173
165
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
174
166
|
# @param read_timeout [Integer, nil] Per-chunk read timeout (seconds)
|
|
175
167
|
# @param proxy [String, nil] Proxy server URI
|
|
176
|
-
# @param no_proxy [Boolean, nil] Disable proxy for this request
|
|
177
168
|
# @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.
|
|
178
169
|
# @param interface [String, nil] Bind the socket to a specific network interface via `SO_BINDTODEVICE` (e.g., "eth0", "wlan0", "tun0"). Effective only on systems that support the option (Linux/Android/Fuchsia) and typically requires privileges (root or CAP_NET_ADMIN).
|
|
179
170
|
# @param emulation [Wreq::Emulation, nil] Device/OS emulation for this request
|
|
180
171
|
# @param version [Wreq::Version, nil] HTTP version to use
|
|
172
|
+
# @param form [Hash{String=>String}, nil] Form data (application/x-www-form-urlencoded)
|
|
173
|
+
# @param json [Object, nil] JSON body (will be serialized)
|
|
174
|
+
# @param body [String, IO, nil] Raw request body (string or stream)
|
|
181
175
|
# @return [Wreq::Response] HTTP response
|
|
182
176
|
def self.put(url, **options)
|
|
183
177
|
end
|
|
@@ -185,17 +179,14 @@ unless defined?(Wreq)
|
|
|
185
179
|
# Send an HTTP DELETE request.
|
|
186
180
|
#
|
|
187
181
|
# @param url [String] Target URL
|
|
188
|
-
# @param headers [Hash{String=>String}, nil] Custom headers for this request
|
|
182
|
+
# @param headers [Wreq::Headers, Hash{String=>String}, nil] Custom headers for this request
|
|
189
183
|
# @param orig_headers [Hash{String=>String}, nil] Original headers (raw, unmodified)
|
|
190
184
|
# @param default_headers [Hash{String=>String}, nil] Default headers to merge
|
|
191
185
|
# @param query [Hash, nil] URL query parameters
|
|
192
|
-
# @param form [Hash{String=>String}, nil] Form data (application/x-www-form-urlencoded)
|
|
193
|
-
# @param json [Object, nil] JSON body (will be serialized)
|
|
194
|
-
# @param body [String, IO, nil] Raw request body (string or stream)
|
|
195
186
|
# @param auth [String, nil] Authorization header value
|
|
196
187
|
# @param bearer_auth [String, nil] Bearer token for Authorization header
|
|
197
188
|
# @param basic_auth [Array<String>, nil] Username and password for basic auth
|
|
198
|
-
# @param cookies [
|
|
189
|
+
# @param cookies [Hash{String=>String}, String, nil] Cookies to send
|
|
199
190
|
# @param allow_redirects [Boolean, nil] Whether to follow redirects
|
|
200
191
|
# @param max_redirects [Integer, nil] Maximum number of redirects to follow
|
|
201
192
|
# @param gzip [Boolean, nil] Enable gzip compression
|
|
@@ -205,11 +196,13 @@ unless defined?(Wreq)
|
|
|
205
196
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
206
197
|
# @param read_timeout [Integer, nil] Per-chunk read timeout (seconds)
|
|
207
198
|
# @param proxy [String, nil] Proxy server URI
|
|
208
|
-
# @param no_proxy [Boolean, nil] Disable proxy for this request
|
|
209
199
|
# @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.
|
|
210
200
|
# @param interface [String, nil] Bind the socket to a specific network interface via `SO_BINDTODEVICE` (e.g., "eth0", "wlan0", "tun0"). Effective only on systems that support the option (Linux/Android/Fuchsia) and typically requires privileges (root or CAP_NET_ADMIN).
|
|
211
201
|
# @param emulation [Wreq::Emulation, nil] Device/OS emulation for this request
|
|
212
202
|
# @param version [Wreq::Version, nil] HTTP version to use
|
|
203
|
+
# @param form [Hash{String=>String}, nil] Form data (application/x-www-form-urlencoded)
|
|
204
|
+
# @param json [Object, nil] JSON body (will be serialized)
|
|
205
|
+
# @param body [String, IO, nil] Raw request body (string or stream)
|
|
213
206
|
# @return [Wreq::Response] HTTP response
|
|
214
207
|
def self.delete(url, **options)
|
|
215
208
|
end
|
|
@@ -217,17 +210,14 @@ unless defined?(Wreq)
|
|
|
217
210
|
# Send an HTTP OPTIONS request.
|
|
218
211
|
#
|
|
219
212
|
# @param url [String] Target URL
|
|
220
|
-
# @param headers [Hash{String=>String}, nil] Custom headers for this request
|
|
213
|
+
# @param headers [Wreq::Headers, Hash{String=>String}, nil] Custom headers for this request
|
|
221
214
|
# @param orig_headers [Hash{String=>String}, nil] Original headers (raw, unmodified)
|
|
222
215
|
# @param default_headers [Hash{String=>String}, nil] Default headers to merge
|
|
223
216
|
# @param query [Hash, nil] URL query parameters
|
|
224
|
-
# @param form [Hash{String=>String}, nil] Form data (application/x-www-form-urlencoded)
|
|
225
|
-
# @param json [Object, nil] JSON body (will be serialized)
|
|
226
|
-
# @param body [String, IO, nil] Raw request body (string or stream)
|
|
227
217
|
# @param auth [String, nil] Authorization header value
|
|
228
218
|
# @param bearer_auth [String, nil] Bearer token for Authorization header
|
|
229
219
|
# @param basic_auth [Array<String>, nil] Username and password for basic auth
|
|
230
|
-
# @param cookies [
|
|
220
|
+
# @param cookies [Hash{String=>String}, String, nil] Cookies to send
|
|
231
221
|
# @param allow_redirects [Boolean, nil] Whether to follow redirects
|
|
232
222
|
# @param max_redirects [Integer, nil] Maximum number of redirects to follow
|
|
233
223
|
# @param gzip [Boolean, nil] Enable gzip compression
|
|
@@ -237,11 +227,13 @@ unless defined?(Wreq)
|
|
|
237
227
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
238
228
|
# @param read_timeout [Integer, nil] Per-chunk read timeout (seconds)
|
|
239
229
|
# @param proxy [String, nil] Proxy server URI
|
|
240
|
-
# @param no_proxy [Boolean, nil] Disable proxy for this request
|
|
241
230
|
# @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.
|
|
242
231
|
# @param interface [String, nil] Bind the socket to a specific network interface via `SO_BINDTODEVICE` (e.g., "eth0", "wlan0", "tun0"). Effective only on systems that support the option (Linux/Android/Fuchsia) and typically requires privileges (root or CAP_NET_ADMIN).
|
|
243
232
|
# @param emulation [Wreq::Emulation, nil] Device/OS emulation for this request
|
|
244
233
|
# @param version [Wreq::Version, nil] HTTP version to use
|
|
234
|
+
# @param form [Hash{String=>String}, nil] Form data (application/x-www-form-urlencoded)
|
|
235
|
+
# @param json [Object, nil] JSON body (will be serialized)
|
|
236
|
+
# @param body [String, IO, nil] Raw request body (string or stream)
|
|
245
237
|
# @return [Wreq::Response] HTTP response
|
|
246
238
|
def self.options(url, **options)
|
|
247
239
|
end
|
|
@@ -249,17 +241,14 @@ unless defined?(Wreq)
|
|
|
249
241
|
# Send an HTTP TRACE request.
|
|
250
242
|
#
|
|
251
243
|
# @param url [String] Target URL
|
|
252
|
-
# @param headers [Hash{String=>String}, nil] Custom headers for this request
|
|
244
|
+
# @param headers [Wreq::Headers, Hash{String=>String}, nil] Custom headers for this request
|
|
253
245
|
# @param orig_headers [Hash{String=>String}, nil] Original headers (raw, unmodified)
|
|
254
246
|
# @param default_headers [Hash{String=>String}, nil] Default headers to merge
|
|
255
247
|
# @param query [Hash, nil] URL query parameters
|
|
256
|
-
# @param form [Hash{String=>String}, nil] Form data (application/x-www-form-urlencoded)
|
|
257
|
-
# @param json [Object, nil] JSON body (will be serialized)
|
|
258
|
-
# @param body [String, IO, nil] Raw request body (string or stream)
|
|
259
248
|
# @param auth [String, nil] Authorization header value
|
|
260
249
|
# @param bearer_auth [String, nil] Bearer token for Authorization header
|
|
261
250
|
# @param basic_auth [Array<String>, nil] Username and password for basic auth
|
|
262
|
-
# @param cookies [
|
|
251
|
+
# @param cookies [Hash{String=>String}, String, nil] Cookies to send
|
|
263
252
|
# @param allow_redirects [Boolean, nil] Whether to follow redirects
|
|
264
253
|
# @param max_redirects [Integer, nil] Maximum number of redirects to follow
|
|
265
254
|
# @param gzip [Boolean, nil] Enable gzip compression
|
|
@@ -269,11 +258,13 @@ unless defined?(Wreq)
|
|
|
269
258
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
270
259
|
# @param read_timeout [Integer, nil] Per-chunk read timeout (seconds)
|
|
271
260
|
# @param proxy [String, nil] Proxy server URI
|
|
272
|
-
# @param no_proxy [Boolean, nil] Disable proxy for this request
|
|
273
261
|
# @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.
|
|
274
262
|
# @param interface [String, nil] Bind the socket to a specific network interface via `SO_BINDTODEVICE` (e.g., "eth0", "wlan0", "tun0"). Effective only on systems that support the option (Linux/Android/Fuchsia) and typically requires privileges (root or CAP_NET_ADMIN).
|
|
275
263
|
# @param emulation [Wreq::Emulation, nil] Device/OS emulation for this request
|
|
276
264
|
# @param version [Wreq::Version, nil] HTTP version to use
|
|
265
|
+
# @param form [Hash{String=>String}, nil] Form data (application/x-www-form-urlencoded)
|
|
266
|
+
# @param json [Object, nil] JSON body (will be serialized)
|
|
267
|
+
# @param body [String, IO, nil] Raw request body (string or stream)
|
|
277
268
|
# @return [Wreq::Response] HTTP response
|
|
278
269
|
def self.trace(url, **options)
|
|
279
270
|
end
|
|
@@ -281,17 +272,14 @@ unless defined?(Wreq)
|
|
|
281
272
|
# Send an HTTP PATCH request.
|
|
282
273
|
#
|
|
283
274
|
# @param url [String] Target URL
|
|
284
|
-
# @param headers [Hash{String=>String}, nil] Custom headers for this request
|
|
275
|
+
# @param headers [Wreq::Headers, Hash{String=>String}, nil] Custom headers for this request
|
|
285
276
|
# @param orig_headers [Hash{String=>String}, nil] Original headers (raw, unmodified)
|
|
286
277
|
# @param default_headers [Hash{String=>String}, nil] Default headers to merge
|
|
287
278
|
# @param query [Hash, nil] URL query parameters
|
|
288
|
-
# @param form [Hash{String=>String}, nil] Form data (application/x-www-form-urlencoded)
|
|
289
|
-
# @param json [Object, nil] JSON body (will be serialized)
|
|
290
|
-
# @param body [String, IO, nil] Raw request body (string or stream)
|
|
291
279
|
# @param auth [String, nil] Authorization header value
|
|
292
280
|
# @param bearer_auth [String, nil] Bearer token for Authorization header
|
|
293
281
|
# @param basic_auth [Array<String>, nil] Username and password for basic auth
|
|
294
|
-
# @param cookies [
|
|
282
|
+
# @param cookies [Hash{String=>String}, String, nil] Cookies to send
|
|
295
283
|
# @param allow_redirects [Boolean, nil] Whether to follow redirects
|
|
296
284
|
# @param max_redirects [Integer, nil] Maximum number of redirects to follow
|
|
297
285
|
# @param gzip [Boolean, nil] Enable gzip compression
|
|
@@ -301,11 +289,13 @@ unless defined?(Wreq)
|
|
|
301
289
|
# @param timeout [Integer, nil] Total request timeout (seconds)
|
|
302
290
|
# @param read_timeout [Integer, nil] Per-chunk read timeout (seconds)
|
|
303
291
|
# @param proxy [String, nil] Proxy server URI
|
|
304
|
-
# @param no_proxy [Boolean, nil] Disable proxy for this request
|
|
305
292
|
# @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.
|
|
306
293
|
# @param interface [String, nil] Bind the socket to a specific network interface via `SO_BINDTODEVICE` (e.g., "eth0", "wlan0", "tun0"). Effective only on systems that support the option (Linux/Android/Fuchsia) and typically requires privileges (root or CAP_NET_ADMIN).
|
|
307
294
|
# @param emulation [Wreq::Emulation, nil] Device/OS emulation for this request
|
|
308
295
|
# @param version [Wreq::Version, nil] HTTP version to use
|
|
296
|
+
# @param form [Hash{String=>String}, nil] Form data (application/x-www-form-urlencoded)
|
|
297
|
+
# @param json [Object, nil] JSON body (will be serialized)
|
|
298
|
+
# @param body [String, IO, nil] Raw request body (string or stream)
|
|
309
299
|
# @return [Wreq::Response] HTTP response
|
|
310
300
|
def self.patch(url, **options)
|
|
311
301
|
end
|
|
Binary file
|
|
Binary file
|
|
Binary file
|