Module: RubyProxyHeaders::RestClient
- Defined in:
- lib/ruby_proxy_headers/rest_client.rb
Overview
RestClient integration for proxy headers support.
Defined Under Namespace
Classes: ProxyResponse
Class Method Summary collapse
-
.delete(url, proxy:, proxy_headers: {}, **options) ⇒ Object
Make a DELETE request with proxy headers.
-
.get(url, proxy:, proxy_headers: {}, **options) ⇒ Object
Make a GET request with proxy headers.
-
.post(url, proxy:, proxy_headers: {}, payload: nil, **options) ⇒ Object
Make a POST request with proxy headers.
-
.put(url, proxy:, proxy_headers: {}, payload: nil, **options) ⇒ Object
Make a PUT request with proxy headers.
-
.request(method, url, proxy:, proxy_headers: {}, **options) ⇒ Object
Make a request with proxy headers.
Class Method Details
.delete(url, proxy:, proxy_headers: {}, **options) ⇒ Object
Make a DELETE request with proxy headers.
31 32 33 |
# File 'lib/ruby_proxy_headers/rest_client.rb', line 31 def self.delete(url, proxy:, proxy_headers: {}, **) request(:delete, url, proxy: proxy, proxy_headers: proxy_headers, **) end |
.get(url, proxy:, proxy_headers: {}, **options) ⇒ Object
Make a GET request with proxy headers.
16 17 18 |
# File 'lib/ruby_proxy_headers/rest_client.rb', line 16 def self.get(url, proxy:, proxy_headers: {}, **) request(:get, url, proxy: proxy, proxy_headers: proxy_headers, **) end |
.post(url, proxy:, proxy_headers: {}, payload: nil, **options) ⇒ Object
Make a POST request with proxy headers.
21 22 23 |
# File 'lib/ruby_proxy_headers/rest_client.rb', line 21 def self.post(url, proxy:, proxy_headers: {}, payload: nil, **) request(:post, url, proxy: proxy, proxy_headers: proxy_headers, body: payload, **) end |
.put(url, proxy:, proxy_headers: {}, payload: nil, **options) ⇒ Object
Make a PUT request with proxy headers.
26 27 28 |
# File 'lib/ruby_proxy_headers/rest_client.rb', line 26 def self.put(url, proxy:, proxy_headers: {}, payload: nil, **) request(:put, url, proxy: proxy, proxy_headers: proxy_headers, body: payload, **) end |
.request(method, url, proxy:, proxy_headers: {}, **options) ⇒ Object
Make a request with proxy headers.
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/ruby_proxy_headers/rest_client.rb', line 36 def self.request(method, url, proxy:, proxy_headers: {}, **) require 'rest-client' uri = URI.parse(url) # For HTTPS with proxy headers, use our core connection if uri.scheme == 'https' && !proxy_headers.empty? response = RubyProxyHeaders::NetHTTP.request( method, url, proxy: proxy, proxy_headers: proxy_headers, headers: [:headers], body: [:body] ) return response end # For HTTP or no proxy headers, use standard RestClient ::RestClient.proxy = proxy response = ::RestClient.send(method, url, ) ProxyResponse.new(response, {}) end |