Faraday adapter for socks proxy
Add this line to your application's Gemfile:
gem 'faraday_adapter_socks'
And then execute:
$ bundle
Or install it yourself as:
$ gem install faraday_adapter_socks
Adapter symbol :net_http_socks
should be set to faraday_adapter
Example: faraday connection
require 'faraday_adapter_socks'
options = { proxy: { uri: URI.parse("socks://#{your_socks_server}") } }
conn = Faraday.new(url, options) do |faraday|
faraday.request :url_encoded
faraday.adapter :net_http_socks # please assign ":net_http_socks" adapter
end
response = conn.get do |req|
req.url request_path
end
Example: get oauth2 client using intridea/oauth2
require 'faraday_adapter_socks'
client_options = { connection_opts: { proxy: { uri: URI.parse("socks://#{your_socks_server}") } }
client = ::OAuth2::Client.new(client_id, client_secret, client_options) do |conn|
conn.request :url_encoded
conn.response :json, content_type: /\bjson$/
conn.adapter :net_http_socks # please assign ":net_http_socks" adapter
end
Setup
$ git clone https://github.com/goldeneggg/faraday_adapter_socks.git
$ bin/setup
Run tests
$ bundle exec rake spec
Debug using pry
$ bin/console
To release a new version, update the version number in version.rb
.
Bug reports and pull requests are welcome on GitHub at issues