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

Method GetCurrentProxyType

cpp/iedriver/ProxyManager.cpp:467–501  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

465}
466
467void ProxyManager::GetCurrentProxyType() {
468 LOG(TRACE) << "ProxyManager::GetCurrentProxyType";
469 INTERNET_PER_CONN_OPTION_LIST option_list;
470 std::vector<INTERNET_PER_CONN_OPTION> proxy_type_options(1);
471 unsigned long list_size = sizeof(INTERNET_PER_CONN_OPTION_LIST);
472
473 proxy_type_options[0].dwOption = INTERNET_PER_CONN_FLAGS_UI;
474
475 option_list.dwSize = sizeof(INTERNET_PER_CONN_OPTION_LIST);
476 option_list.pszConnection = NULL;
477 option_list.dwOptionCount = static_cast<int>(proxy_type_options.size());
478 option_list.dwOptionError = 0;
479 option_list.pOptions = &proxy_type_options[0];
480
481 // First check for INTERNET_PER_CONN_FLAGS_UI, then if that fails
482 // check again using INTERNET_PER_CONN_FLAGS. This is documented at
483 // http://msdn.microsoft.com/en-us/library/windows/desktop/aa385145%28v=vs.85%29.aspx
484 BOOL success = ::InternetQueryOption(NULL,
485 INTERNET_OPTION_PER_CONNECTION_OPTION,
486 &option_list,
487 &list_size);
488 if (success) {
489 this->current_proxy_type_ = proxy_type_options[0].Value.dwValue;
490 return;
491 }
492
493 proxy_type_options[0].dwOption = INTERNET_PER_CONN_FLAGS;
494 success = ::InternetQueryOption(NULL,
495 INTERNET_OPTION_PER_CONNECTION_OPTION,
496 &option_list,
497 &list_size);
498 if (success) {
499 this->current_proxy_type_ = proxy_type_options[0].Value.dwValue;
500 }
501}
502
503} // namespace webdriver
504

Callers 1

Calls 2

LOGClass · 0.50
sizeMethod · 0.45

Tested by

no test coverage detected