Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ wreq = { version = "6.0.0-rc.28", features = [
"deflate",
"zstd",
] }
wreq-util = "3.0.0-rc.10"
wreq-util = "3.0.0-rc.11"
serde = { version = "1.0.228", features = ["derive"] }
serde_magnus = "0.11.0"
indexmap = { version = "2.14.0", features = ["serde"] }
Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,9 @@ Most browser device models share identical TLS and HTTP/2 configurations, differ

| **Browser** | **Versions** |
| ----------- | ------------ |
| **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` |
| **Edge** | `Edge101`, `Edge122`, `Edge127`, `Edge131`, `Edge134`, `Edge135`, `Edge136`, `Edge137`, `Edge138`, `Edge139`, `Edge140`, `Edge141`, `Edge142`, `Edge143`, `Edge144`, `Edge145` |
| **Firefox** | `Firefox109`, `Firefox117`, `Firefox128`, `Firefox133`, `Firefox135`, `FirefoxPrivate135`, `FirefoxAndroid135`, `Firefox136`, `FirefoxPrivate136`, `Firefox139`, `Firefox142`, `Firefox143`, `Firefox144`, `Firefox145`, `Firefox146`, `Firefox147` |
| **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` |
| **Edge** | `Edge101`, `Edge122`, `Edge127`, `Edge131`, `Edge134`, `Edge135`, `Edge136`, `Edge137`, `Edge138`, `Edge139`, `Edge140`, `Edge141`, `Edge142`, `Edge143`, `Edge144`, `Edge145`, `Edge146`, `Edge147` |
| **Firefox** | `Firefox109`, `Firefox117`, `Firefox128`, `Firefox133`, `Firefox135`, `FirefoxPrivate135`, `FirefoxAndroid135`, `Firefox136`, `FirefoxPrivate136`, `Firefox139`, `Firefox142`, `Firefox143`, `Firefox144`, `Firefox145`, `Firefox146`, `Firefox147`, `Firefox148`, `Firefox149` |
| **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` |
| **OkHttp** | `OkHttp3_9`, `OkHttp3_11`, `OkHttp3_13`, `OkHttp3_14`, `OkHttp4_9`, `OkHttp4_10`, `OkHttp4_12`, `OkHttp5` |
| **Opera** | `Opera116`, `Opera117`, `Opera118`, `Opera119` |
Expand Down
17 changes: 17 additions & 0 deletions lib/wreq_ruby/emulation.rb
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@ class EmulationDevice
Chrome143 = nil
Chrome144 = nil
Chrome145 = nil
Chrome146 = nil
Chrome147 = nil
Edge101 = nil
Edge122 = nil
Edge127 = nil
Expand All @@ -66,6 +68,8 @@ class EmulationDevice
Edge143 = nil
Edge144 = nil
Edge145 = nil
Edge146 = nil
Edge147 = nil
Firefox109 = nil
Firefox117 = nil
Firefox128 = nil
Expand All @@ -82,6 +86,8 @@ class EmulationDevice
Firefox145 = nil
Firefox146 = nil
Firefox147 = nil
Firefox148 = nil
Firefox149 = nil
SafariIos17_2 = nil
SafariIos17_4_1 = nil
SafariIos16_5 = nil
Expand Down Expand Up @@ -121,6 +127,17 @@ class EmulationDevice
Opera117 = nil
Opera118 = nil
Opera119 = nil
Opera120 = nil
Opera121 = nil
Opera122 = nil
Opera123 = nil
Opera124 = nil
Opera125 = nil
Opera126 = nil
Opera127 = nil
Opera128 = nil
Opera129 = nil
Opera130 = nil
end

unless method_defined?(:to_s)
Expand Down
45 changes: 44 additions & 1 deletion src/emulate.rs
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,9 @@ define_ruby_enum!(
Chrome143,
Chrome144,
Chrome145,
Chrome146,
Chrome147,

Edge101,
Edge122,
Edge127,
Expand All @@ -62,6 +65,9 @@ define_ruby_enum!(
Edge143,
Edge144,
Edge145,
Edge146,
Edge147,

Firefox109,
Firefox117,
Firefox128,
Expand All @@ -78,6 +84,9 @@ define_ruby_enum!(
Firefox145,
Firefox146,
Firefox147,
Firefox148,
Firefox149,

SafariIos17_2,
SafariIos17_4_1,
SafariIos16_5,
Expand Down Expand Up @@ -105,6 +114,7 @@ define_ruby_enum!(
SafariIos26_2,
SafariIPad26,
SafariIpad26_2,

OkHttp3_9,
OkHttp3_11,
OkHttp3_13,
Expand All @@ -113,10 +123,22 @@ define_ruby_enum!(
OkHttp4_10,
OkHttp4_12,
OkHttp5,

Opera116,
Opera117,
Opera118,
Opera119
Opera119,
Opera120,
Opera121,
Opera122,
Opera123,
Opera124,
Opera125,
Opera126,
Opera127,
Opera128,
Opera129,
Opera130,
);

define_ruby_enum!(
Expand Down Expand Up @@ -229,6 +251,8 @@ pub fn include(ruby: &Ruby, gem_module: &RModule) -> Result<(), Error> {
emulation_class.const_set("Chrome143", EmulationDevice::Chrome143)?;
emulation_class.const_set("Chrome144", EmulationDevice::Chrome144)?;
emulation_class.const_set("Chrome145", EmulationDevice::Chrome145)?;
emulation_class.const_set("Chrome146", EmulationDevice::Chrome146)?;
emulation_class.const_set("Chrome147", EmulationDevice::Chrome147)?;
emulation_class.const_set("Edge101", EmulationDevice::Edge101)?;
emulation_class.const_set("Edge122", EmulationDevice::Edge122)?;
emulation_class.const_set("Edge127", EmulationDevice::Edge127)?;
Expand All @@ -245,6 +269,9 @@ pub fn include(ruby: &Ruby, gem_module: &RModule) -> Result<(), Error> {
emulation_class.const_set("Edge143", EmulationDevice::Edge143)?;
emulation_class.const_set("Edge144", EmulationDevice::Edge144)?;
emulation_class.const_set("Edge145", EmulationDevice::Edge145)?;
emulation_class.const_set("Edge146", EmulationDevice::Edge146)?;
emulation_class.const_set("Edge147", EmulationDevice::Edge147)?;

emulation_class.const_set("Firefox109", EmulationDevice::Firefox109)?;
emulation_class.const_set("Firefox117", EmulationDevice::Firefox117)?;
emulation_class.const_set("Firefox128", EmulationDevice::Firefox128)?;
Expand All @@ -261,6 +288,9 @@ pub fn include(ruby: &Ruby, gem_module: &RModule) -> Result<(), Error> {
emulation_class.const_set("Firefox145", EmulationDevice::Firefox145)?;
emulation_class.const_set("Firefox146", EmulationDevice::Firefox146)?;
emulation_class.const_set("Firefox147", EmulationDevice::Firefox147)?;
emulation_class.const_set("Firefox148", EmulationDevice::Firefox148)?;
emulation_class.const_set("Firefox149", EmulationDevice::Firefox149)?;

emulation_class.const_set("SafariIos17_2", EmulationDevice::SafariIos17_2)?;
emulation_class.const_set("SafariIos17_4_1", EmulationDevice::SafariIos17_4_1)?;
emulation_class.const_set("SafariIos16_5", EmulationDevice::SafariIos16_5)?;
Expand Down Expand Up @@ -288,6 +318,7 @@ pub fn include(ruby: &Ruby, gem_module: &RModule) -> Result<(), Error> {
emulation_class.const_set("SafariIos26_2", EmulationDevice::SafariIos26_2)?;
emulation_class.const_set("SafariIPad26", EmulationDevice::SafariIPad26)?;
emulation_class.const_set("SafariIpad26_2", EmulationDevice::SafariIpad26_2)?;

emulation_class.const_set("OkHttp3_9", EmulationDevice::OkHttp3_9)?;
emulation_class.const_set("OkHttp3_11", EmulationDevice::OkHttp3_11)?;
emulation_class.const_set("OkHttp3_13", EmulationDevice::OkHttp3_13)?;
Expand All @@ -296,10 +327,22 @@ pub fn include(ruby: &Ruby, gem_module: &RModule) -> Result<(), Error> {
emulation_class.const_set("OkHttp4_10", EmulationDevice::OkHttp4_10)?;
emulation_class.const_set("OkHttp4_12", EmulationDevice::OkHttp4_12)?;
emulation_class.const_set("OkHttp5", EmulationDevice::OkHttp5)?;

emulation_class.const_set("Opera116", EmulationDevice::Opera116)?;
emulation_class.const_set("Opera117", EmulationDevice::Opera117)?;
emulation_class.const_set("Opera118", EmulationDevice::Opera118)?;
emulation_class.const_set("Opera119", EmulationDevice::Opera119)?;
emulation_class.const_set("Opera120", EmulationDevice::Opera120)?;
emulation_class.const_set("Opera121", EmulationDevice::Opera121)?;
emulation_class.const_set("Opera122", EmulationDevice::Opera122)?;
emulation_class.const_set("Opera123", EmulationDevice::Opera123)?;
emulation_class.const_set("Opera124", EmulationDevice::Opera124)?;
emulation_class.const_set("Opera125", EmulationDevice::Opera125)?;
emulation_class.const_set("Opera126", EmulationDevice::Opera126)?;
emulation_class.const_set("Opera127", EmulationDevice::Opera127)?;
emulation_class.const_set("Opera128", EmulationDevice::Opera128)?;
emulation_class.const_set("Opera129", EmulationDevice::Opera129)?;
emulation_class.const_set("Opera130", EmulationDevice::Opera130)?;

// EmulationOS enum binding
let emulation_os_class = gem_module.define_class("EmulationOS", ruby.class_object())?;
Expand Down