MCPcopy Create free account
hub / github.com/SeleniumHQ/selenium / general_request_browser_version

Method general_request_browser_version

rust/src/lib.rs:1174–1221  ·  view source on GitHub ↗
(
        &mut self,
        browser_name: &str,
    )

Source from the content-addressed store, hash-verified

1172 }
1173
1174 fn general_request_browser_version(
1175 &mut self,
1176 browser_name: &str,
1177 ) -> Result<Option<String>, Error> {
1178 let browser_version;
1179 let original_browser_version = self.get_config().browser_version.clone();
1180 let major_browser_version = self.get_major_browser_version();
1181 let cache_path = self.get_cache_path()?;
1182 let mut metadata = get_metadata(self.get_logger(), &cache_path);
1183
1184 // Browser version is checked in the local metadata
1185 match get_browser_version_from_metadata(
1186 &metadata.browsers,
1187 browser_name,
1188 &major_browser_version,
1189 ) {
1190 Some(version) => {
1191 self.get_logger().trace(format!(
1192 "Browser with valid TTL. Getting {} version from metadata",
1193 browser_name
1194 ));
1195 browser_version = version;
1196 self.set_browser_version(browser_version.clone());
1197 }
1198 _ => {
1199 // If not in metadata, discover version using online endpoints
1200 browser_version =
1201 if major_browser_version.is_empty() || self.is_browser_version_stable() {
1202 self.request_latest_browser_version_from_online(&original_browser_version)?
1203 } else {
1204 self.request_fixed_browser_version_from_online(&original_browser_version)?
1205 };
1206
1207 let browser_ttl = self.get_ttl();
1208 if browser_ttl > 0 {
1209 metadata.browsers.push(create_browser_metadata(
1210 browser_name,
1211 &major_browser_version,
1212 &browser_version,
1213 browser_ttl,
1214 ));
1215 write_metadata(&metadata, self.get_logger(), cache_path);
1216 }
1217 }
1218 }
1219
1220 Ok(Some(browser_version))
1221 }
1222
1223 fn general_discover_browser_version(
1224 &mut self,

Callers 2

Implementers 8

edge.rsrust/src/edge.rs
iexplorer.rsrust/src/iexplorer.rs
safaritp.rsrust/src/safaritp.rs
electron.rsrust/src/electron.rs
chrome.rsrust/src/chrome.rs
firefox.rsrust/src/firefox.rs
grid.rsrust/src/grid.rs
safari.rsrust/src/safari.rs

Calls 15

get_metadataFunction · 0.85
create_browser_metadataFunction · 0.85
write_metadataFunction · 0.85
get_cache_pathMethod · 0.80
traceMethod · 0.80
set_browser_versionMethod · 0.80
is_emptyMethod · 0.80
get_ttlMethod · 0.80
get_configMethod · 0.45

Tested by

no test coverage detected