http_utilities 1.3.4 → 1.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 100d88c3257aab9fd554b92ebf5acec6f0e76a13610744dbc1334f197db1d69d
4
- data.tar.gz: 72a3b17228032109386de4b47bd17e4e25c24111653a29eab467496e22da6016
3
+ metadata.gz: d35f4d16afe0c14fb152deaa1f4f9499149b8092597048a9634ba7a18c2107fd
4
+ data.tar.gz: 9e1accc76b228e69dae8e9ab656451720dc75d2136c3988624eed5e8f8775aad
5
5
  SHA512:
6
- metadata.gz: d53540c7b71697bcc23606676e391d7cc4687e5b88ac37bfc8b8fad4f85bf32c5f868484903bea248951ea808e2928a8a15354fd8661ad6e35771cb570dfdc21
7
- data.tar.gz: 8bad3307db72709899fd3a15ea4c23c77014d448239f224ee6f42d9099e553e0423fafe1fbc1d2361a965214fa71b8a6423c9e8bd7e9516cbd05ab45e13cd286
6
+ metadata.gz: 5d8a4cf017084eb7227864328e86a118f143001e5201238987c000065214e74c9303dea25f9da4a28ac68b22ca20b098281cd7d8927e5e97227bd78b65bccdec
7
+ data.tar.gz: 9c9845c448c6f8135b6ab9fc437a1beafafa0352aad04e9f24794182bff1f0b62e2a6d1843fd4a9c2df85e8faa7dfe1c67eb6f267289a3e44a5cf85c45a2356c
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.3.4
1
+ 1.3.5
@@ -3,7 +3,7 @@ Gem::Specification.new do |s|
3
3
  s.required_rubygems_version = Gem::Requirement.new(">= 1.3.5") if s.respond_to? :required_rubygems_version=
4
4
 
5
5
  s.name = "http_utilities"
6
- s.version = "1.3.4"
6
+ s.version = "1.3.5"
7
7
 
8
8
  s.authors = ["Sebastian Johnsson"]
9
9
  s.description = "Wrapper for Faraday with additional functionality"
@@ -3,65 +3,81 @@ module HttpUtilities
3
3
  module ProxySupport
4
4
 
5
5
  def set_proxy_options(options = {})
6
- use_proxy = options.fetch(:use_proxy, false)
7
- specific_proxy = options.fetch(:proxy, nil)
8
- proxy_host = options.fetch(:proxy_host, nil)
9
- proxy_port = options.fetch(:proxy_port, nil)
10
- proxy_username = options.fetch(:proxy_username, nil)
11
- proxy_password = options.fetch(:proxy_password, nil)
12
- proxy_credentials = options.fetch(:proxy_credentials, nil)
13
- proxy_type = options.fetch(:proxy_type, :all)
14
- proxy_protocol = options.fetch(:proxy_protocol, :all)
6
+ proxy_opts = options.fetch(:proxy, nil)
15
7
 
16
- if use_proxy || specific_proxy
17
- self.proxy ||= {}
8
+ if proxy_opts
9
+ self.proxy ||= {}
18
10
 
19
- if specific_proxy && specific_proxy.is_a?(String)
20
- specific_proxy = specific_proxy.gsub(/^http(s)?:\/\//i, "")
21
- parts = specific_proxy.split(":")
22
-
23
- if parts.size.eql?(2)
24
- self.proxy[:host] = parts.first
25
- self.proxy[:port] = parts.second.to_i
26
- end
27
-
28
- elsif proxy_host && proxy_port
29
- self.proxy[:host] = proxy_host
30
- self.proxy[:port] = proxy_port
31
-
32
- elsif proxy_model_defined?
33
- if specific_proxy && specific_proxy.is_a?(::Proxy)
34
- proxy_object = specific_proxy
35
- else
36
- proxy_object = ::Proxy.get_random_proxy(protocol: proxy_protocol, proxy_type: proxy_type)
37
- end
11
+ if proxy_opts.is_a?(String)
12
+ set_from_string(proxy_opts)
13
+
14
+ elsif proxy_opts.is_a?(Hash)
15
+ set_from_hash(proxy_opts)
38
16
 
39
- #log(:info, "[HttpUtilities::Http::ProxySupport] - Randomized Proxy object: #{proxy_object.inspect}")
17
+ elsif proxy_model_defined? && proxy_opts.is_a?(::Proxy)
18
+ set_from_object(proxy_opts)
19
+ end
20
+ end
21
+ end
22
+
23
+ def set_from_string(proxy_opts)
24
+ proxy_opts = proxy_opts.gsub(/^http(s)?:\/\//i, "")
25
+ parts = proxy_opts.split(":")
40
26
 
41
- if proxy_object
42
- self.proxy[:host] = proxy_object.host
43
- self.proxy[:port] = proxy_object.port
44
- proxy_username = !proxy_object.username.to_s.empty? ? proxy_object.username : nil
45
- proxy_password = !proxy_object.password.to_s.empty? ? proxy_object.password : nil
46
- end
27
+ if parts.size.eql?(2)
28
+ self.proxy[:host] = parts.first
29
+ self.proxy[:port] = parts.second.to_i
30
+ end
31
+ end
32
+
33
+ def set_from_hash(proxy_opts)
34
+ host = proxy_opts.fetch(:host, nil)
35
+ port = proxy_opts.fetch(:port, nil)
36
+
37
+ username = proxy_opts.fetch(:username, nil)
38
+ password = proxy_opts.fetch(:password, nil)
39
+ credentials = proxy_opts.fetch(:credentials, nil)
40
+
41
+ randomize = proxy_opts.fetch(:randomize, true)
42
+ type = proxy_opts.fetch(:type, :all)
43
+ protocol = proxy_opts.fetch(:protocol, :all)
44
+
45
+ if randomize && proxy_model_defined?
46
+ proxy_object = ::Proxy.get_random_proxy(protocol: protocol, proxy_type: type)
47
+ set_from_object(proxy_object)
48
+ else
49
+ if host && port
50
+ self.proxy[:host] = host
51
+ self.proxy[:port] = port
52
+
53
+ set_credentials(username, password)
47
54
  end
55
+ end
56
+ end
57
+
58
+ def set_from_object(proxy_object)
59
+ if proxy_object
60
+ self.proxy[:host] = proxy_object.host
61
+ self.proxy[:port] = proxy_object.port
62
+ username = !proxy_object.username.to_s.empty? ? proxy_object.username : nil
63
+ password = !proxy_object.password.to_s.empty? ? proxy_object.password : nil
48
64
 
49
- set_proxy_credentials(proxy_username, proxy_password, proxy_credentials)
65
+ set_credentials(username, password)
50
66
  end
51
67
  end
52
68
 
53
- def set_proxy_credentials(proxy_username, proxy_password, proxy_credentials)
54
- if proxy_username && proxy_password
55
- self.proxy[:username] = proxy_username
56
- self.proxy[:password] = proxy_password
69
+ def set_credentials(username, password, credentials = {})
70
+ if username && password
71
+ self.proxy[:username] = username
72
+ self.proxy[:password] = password
57
73
 
58
- elsif proxy_credentials
59
- if proxy_credentials.is_a?(Hash)
60
- self.proxy[:username] = proxy_credentials[:username]
61
- self.proxy[:password] = proxy_credentials[:password]
74
+ elsif credentials
75
+ if credentials.is_a?(Hash)
76
+ self.proxy[:username] = credentials[:username]
77
+ self.proxy[:password] = credentials[:password]
62
78
 
63
- elsif (proxy_credentials.is_a?(String))
64
- parts = proxy_credentials.split(":")
79
+ elsif (credentials.is_a?(String))
80
+ parts = credentials.split(":")
65
81
 
66
82
  if parts && parts.any? && parts.size == 2
67
83
  self.proxy[:username] = parts.first
@@ -72,19 +88,19 @@ module HttpUtilities
72
88
  end
73
89
 
74
90
  def proxy_model_defined?
75
- defined = Module.const_get("Proxy").is_a?(Class) rescue false
76
- defined = (defined && ::Proxy.respond_to?(:get_random_proxy))
91
+ defined = Module.const_get("Proxy").is_a?(Class) rescue false
92
+ defined = (defined && ::Proxy.respond_to?(:get_random_proxy))
77
93
 
78
94
  return defined
79
95
  end
80
96
 
81
97
  def generate_proxy_options
82
- proxy_options = {}
98
+ proxy_options = {}
83
99
 
84
100
  if self.proxy && !self.proxy[:host].to_s.empty? && !self.proxy[:port].to_s.empty?
85
- proxy_options[:uri] = "http://#{self.proxy[:host]}:#{self.proxy[:port]}"
86
- proxy_options[:user] = self.proxy[:username] if !self.proxy[:username].to_s.empty?
87
- proxy_options[:password] = self.proxy[:password] if !self.proxy[:password].to_s.empty?
101
+ proxy_options[:uri] = "http://#{self.proxy[:host]}:#{self.proxy[:port]}"
102
+ proxy_options[:user] = self.proxy[:username] if !self.proxy[:username].to_s.empty?
103
+ proxy_options[:password] = self.proxy[:password] if !self.proxy[:password].to_s.empty?
88
104
  end
89
105
 
90
106
  return proxy_options
@@ -5,7 +5,7 @@ require "faraday_middleware"
5
5
  require "mechanize"
6
6
 
7
7
  module HttpUtilities
8
- VERSION = "1.3.4"
8
+ VERSION = "1.3.5"
9
9
 
10
10
  require File.join(File.dirname(__FILE__), 'http_utilities/railtie') if defined?(Rails)
11
11
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: http_utilities
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.4
4
+ version: 1.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sebastian Johnsson