File tree 2 files changed +23
-1
lines changed
2 files changed +23
-1
lines changed Original file line number Diff line number Diff line change @@ -223,9 +223,11 @@ impl SeleniumManager for FirefoxManager {
223
223
_ => {
224
224
self . assert_online_or_err ( OFFLINE_REQUEST_ERR_MSG ) ?;
225
225
226
+ let driver_version_url =
227
+ self . get_driver_mirror_versions_url_or_default ( DRIVER_VERSIONS_URL ) ;
226
228
let driver_version = match parse_json_from_url :: < GeckodriverReleases > (
227
229
self . get_http_client ( ) ,
228
- DRIVER_VERSIONS_URL ,
230
+ & driver_version_url ,
229
231
) {
230
232
Ok ( driver_releases) => {
231
233
let major_browser_version_int =
Original file line number Diff line number Diff line change @@ -1288,6 +1288,26 @@ pub trait SeleniumManager {
1288
1288
}
1289
1289
}
1290
1290
1291
+ fn get_driver_mirror_versions_url_or_default < ' a > ( & ' a self , default_url : & ' a str ) -> String {
1292
+ let driver_mirror_url = self . get_driver_mirror_url ( ) ;
1293
+ if !driver_mirror_url. is_empty ( ) {
1294
+ let driver_versions_path = default_url. rfind ( '/' ) . map ( |i| & default_url[ i + 1 ..] ) ;
1295
+ if let Some ( path) = driver_versions_path {
1296
+ let driver_mirror_versions_url = if driver_mirror_url. ends_with ( '/' ) {
1297
+ format ! ( "{}{}" , driver_mirror_url, path)
1298
+ } else {
1299
+ format ! ( "{}/{}" , driver_mirror_url, path)
1300
+ } ;
1301
+ self . get_logger ( ) . debug ( format ! (
1302
+ "Using mirror URL to discover driver versions: {}" ,
1303
+ driver_mirror_versions_url
1304
+ ) ) ;
1305
+ return driver_mirror_versions_url;
1306
+ }
1307
+ }
1308
+ default_url. to_string ( )
1309
+ }
1310
+
1291
1311
fn get_driver_mirror_url_or_default < ' a > ( & ' a self , default_url : & ' a str ) -> String {
1292
1312
self . get_url_or_default ( self . get_driver_mirror_url ( ) , default_url)
1293
1313
}
You can’t perform that action at this time.
0 commit comments