http_utilities 1.3.4 → 1.3.5

Sign up to get free protection for your applications and to get access to all the features.
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