diff --git a/Gemfile.lock b/Gemfile.lock deleted file mode 100644 index 779b8e6e..00000000 --- a/Gemfile.lock +++ /dev/null @@ -1,89 +0,0 @@ -PATH - remote: . - specs: - capybara-webkit (1.11.1) - capybara (>= 2.3.0, < 2.8.0) - json - -GEM - remote: https://rubygems.org/ - specs: - addressable (2.3.6) - appraisal (0.4.0) - bundler - rake - capybara (2.5.0) - mime-types (>= 1.16) - nokogiri (>= 1.3.3) - rack (>= 1.0.0) - rack-test (>= 0.5.4) - xpath (~> 2.0) - childprocess (0.5.5) - ffi (~> 1.0, >= 1.0.11) - diff-lcs (1.2.4) - ffi (1.9.8) - ffi (1.9.8-java) - ffi (1.9.8-x86-mingw32) - json (1.8.3) - launchy (2.4.2) - addressable (~> 2.3) - launchy (2.4.2-java) - addressable (~> 2.3) - spoon (~> 0.0.1) - mime-types (2.6.1) - mini_magick (3.2.1) - subexec (~> 0.0.4) - mini_portile2 (2.0.0) - multi_json (1.11.0) - nokogiri (1.6.7.2) - mini_portile2 (~> 2.0.0.rc2) - rack (1.6.4) - rack-protection (1.3.2) - rack - rack-test (0.6.3) - rack (>= 1.0) - rake (0.9.2) - rspec (2.14.1) - rspec-core (~> 2.14.0) - rspec-expectations (~> 2.14.0) - rspec-mocks (~> 2.14.0) - rspec-core (2.14.4) - rspec-expectations (2.14.1) - diff-lcs (>= 1.1.3, < 2.0) - rspec-mocks (2.14.3) - rubyzip (1.1.7) - selenium-webdriver (2.45.0) - childprocess (~> 0.5) - multi_json (~> 1.0) - rubyzip (~> 1.0) - websocket (~> 1.0) - sinatra (1.3.5) - rack (~> 1.4) - rack-protection (~> 1.3) - tilt (~> 1.3, >= 1.3.3) - spoon (0.0.4) - ffi - subexec (0.0.4) - tilt (1.3.3) - websocket (1.2.1) - xpath (2.0.0) - nokogiri (~> 1.3) - -PLATFORMS - java - ruby - x86-mingw32 - -DEPENDENCIES - appraisal (~> 0.4.0) - capybara-webkit! - launchy - mime-types (< 3.0) - mini_magick - rake - rspec (~> 2.14.0) - selenium-webdriver - sinatra - -BUNDLED WITH - 1.11.2 diff --git a/lib/capybara/webkit/browser.rb b/lib/capybara/webkit/browser.rb index dc145331..07909ae5 100644 --- a/lib/capybara/webkit/browser.rb +++ b/lib/capybara/webkit/browser.rb @@ -258,7 +258,8 @@ def get_cookies def set_proxy(options = {}) options = default_proxy_options.merge(options) - command("SetProxy", options[:host], options[:port], options[:user], options[:pass]) + command "SetProxy", options[:host], options[:port], options[:user], + options[:pass], options[:type] end def clear_proxy @@ -321,10 +322,11 @@ def read_response def default_proxy_options { - :host => "localhost", - :port => "0", - :user => "", - :pass => "" + host: "localhost", + port: "0", + user: "", + pass: "", + type: "http", } end end diff --git a/src/SetProxy.cpp b/src/SetProxy.cpp index 118d8a99..a40743d8 100644 --- a/src/SetProxy.cpp +++ b/src/SetProxy.cpp @@ -11,12 +11,13 @@ void SetProxy::start() // default to empty proxy QNetworkProxy proxy; - if (arguments().size() > 0) - proxy = QNetworkProxy(QNetworkProxy::HttpProxy, - arguments()[0], - (quint16)(arguments()[1].toInt()), - arguments()[2], - arguments()[3]); + if (arguments().size() > 0) { + proxy.setType((arguments()[4] == "socks5") ? QNetworkProxy::Socks5Proxy : QNetworkProxy::HttpProxy); + proxy.setHostName(arguments()[0]); + proxy.setPort((quint16)(arguments()[1].toInt())); + proxy.setUser(arguments()[2]); + proxy.setPassword(arguments()[3]); + } manager()->networkAccessManager()->setProxy(proxy); finish(true);