-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathemulation.rb
More file actions
186 lines (181 loc) · 5.01 KB
/
emulation.rb
File metadata and controls
186 lines (181 loc) · 5.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
# frozen_string_literal: true
module Wreq
# Device emulation enumeration backed by Rust.
#
# Variants are exposed as constants under this class.
# Each constant is an instance of {Wreq::EmulationDevice}.
#
# @example Using predefined constants
# device = Wreq::EmulationDevice::Chrome117
# device.class #=> Wreq::EmulationDevice
class EmulationDevice
# Constants are set by the native extension at initialization.
# These stubs are for documentation only.
unless const_defined?(:Chrome100)
Chrome100 = nil
Chrome101 = nil
Chrome104 = nil
Chrome105 = nil
Chrome106 = nil
Chrome107 = nil
Chrome108 = nil
Chrome109 = nil
Chrome110 = nil
Chrome114 = nil
Chrome116 = nil
Chrome117 = nil
Chrome118 = nil
Chrome119 = nil
Chrome120 = nil
Chrome123 = nil
Chrome124 = nil
Chrome126 = nil
Chrome127 = nil
Chrome128 = nil
Chrome129 = nil
Chrome130 = nil
Chrome131 = nil
Chrome132 = nil
Chrome133 = nil
Chrome134 = nil
Chrome135 = nil
Chrome136 = nil
Chrome137 = nil
Chrome138 = nil
Chrome139 = nil
Chrome140 = nil
Chrome141 = nil
Chrome142 = nil
Chrome143 = nil
Chrome144 = nil
Chrome145 = nil
Edge101 = nil
Edge122 = nil
Edge127 = nil
Edge131 = nil
Edge134 = nil
Edge135 = nil
Edge136 = nil
Edge137 = nil
Edge138 = nil
Edge139 = nil
Edge140 = nil
Edge141 = nil
Edge142 = nil
Edge143 = nil
Edge144 = nil
Edge145 = nil
Firefox109 = nil
Firefox117 = nil
Firefox128 = nil
Firefox133 = nil
Firefox135 = nil
FirefoxPrivate135 = nil
FirefoxAndroid135 = nil
Firefox136 = nil
FirefoxPrivate136 = nil
Firefox139 = nil
Firefox142 = nil
Firefox143 = nil
Firefox144 = nil
Firefox145 = nil
Firefox146 = nil
Firefox147 = nil
SafariIos17_2 = nil
SafariIos17_4_1 = nil
SafariIos16_5 = nil
Safari15_3 = nil
Safari15_5 = nil
Safari15_6_1 = nil
Safari16 = nil
Safari16_5 = nil
Safari17_0 = nil
Safari17_2_1 = nil
Safari17_4_1 = nil
Safari17_5 = nil
Safari17_6 = nil
Safari18 = nil
SafariIPad18 = nil
Safari18_2 = nil
Safari18_3 = nil
Safari18_3_1 = nil
SafariIos18_1_1 = nil
Safari18_5 = nil
Safari26 = nil
Safari26_1 = nil
Safari26_2 = nil
SafariIos26 = nil
SafariIos26_2 = nil
SafariIPad26 = nil
SafariIpad26_2 = nil
OkHttp3_9 = nil
OkHttp3_11 = nil
OkHttp3_13 = nil
OkHttp3_14 = nil
OkHttp4_9 = nil
OkHttp4_10 = nil
OkHttp4_12 = nil
OkHttp5 = nil
Opera116 = nil
Opera117 = nil
Opera118 = nil
Opera119 = nil
end
unless method_defined?(:to_s)
# Returns a string representation of the emulation device.
# @return [String] Emulation device as string
def to_s
end
end
end
# Operating system emulation enumeration backed by Rust.
#
# Variants are exposed as constants under this class.
# Each constant is an instance of {Wreq::EmulationOS}.
#
# @example Using predefined constants
# os = Wreq::EmulationOS::Windows
# os.class #=> Wreq::EmulationOS
class EmulationOS
# Constants are set by the native extension at initialization.
# These stubs are for documentation only.
unless const_defined?(:Windows)
Windows = nil
MacOS = nil
Linux = nil
Android = nil
IOS = nil
end
unless method_defined?(:to_s)
# Returns a string representation of the emulation OS.
# @return [String] Emulation OS as string
def to_s
end
end
end
# Emulation option wrapper.
#
# This class wraps device and OS emulation options and provides
# a unified interface for browser environment simulation.
# The actual implementation is provided by Rust for performance.
#
# @example Create an emulation option
# emu = Wreq::Emulation.new(device: Wreq::EmulationDevice::Chrome117, os: Wreq::EmulationOS::Windows)
#
# @param device [Wreq::EmulationDevice] Device profile (optional)
# @param os [Wreq::EmulationOS] Operating system profile (optional)
# @param skip_http2 [Boolean] Whether to skip HTTP/2 (optional)
# @param skip_headers [Boolean] Whether to skip default headers (optional)
class Emulation
# Native fields and methods are set by the extension.
# This stub is for documentation only.
unless method_defined?(:new)
# @param device [Wreq::EmulationDevice] Device profile (optional)
# @param os [Wreq::EmulationOS] Operating system profile (optional)
# @param skip_http2 [Boolean] Whether to skip HTTP/2 (optional)
# @param skip_headers [Boolean] Whether to skip default headers (optional)
def self.new(device: nil, os: nil, skip_http2: false, skip_headers: false)
end
end
end
end