http_utilities 1.2.3 → 1.2.4

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
  SHA1:
3
- metadata.gz: 774cb888defe73c5ebb8902a8915aa5350970b1e
4
- data.tar.gz: 8387ca5e76a00a84a506ed0662cc0ccb8c2e73d3
3
+ metadata.gz: 3577e7c051ab3a26079db6562db3bf872b04dfb6
4
+ data.tar.gz: d39436f355b7c6df18009cabc68178e48dd72373
5
5
  SHA512:
6
- metadata.gz: 0e4d363c20736b462836155ea717641a34b38d83def074d8455d619335932c8f644f6ca8fceb22544e8a450b1269a7aba3168236bcbf08da73f9f61f67e30f91
7
- data.tar.gz: 0aff8e5f4a0a0331bb549cb131cb3bc2d09c948a6af5ce6b7e7ff95be14ad52031f776a7baaca93f601df13ccd11bd2cc3ea1c14b2bb03384976acbcd51a8362
6
+ metadata.gz: 64fda9009c189da05973d2c774b4c3c64af0045029e768ad035c26efcf2f07d274840d633217281506a47024a0d47916b6724888eb3664d98e8c05532dbd5563
7
+ data.tar.gz: 259a5b420c51ca5f03dbd2c2505a41b487c0674665a18160c7ead7014acf649b3ff936c9b81affbd68df74a5f082572b3726a81c1dacd665ac99ca6301df03ed
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.2.3
1
+ 1.2.4
@@ -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.2.3"
6
+ s.version = "1.2.4"
7
7
 
8
8
  s.authors = ["Sebastian Johnsson"]
9
9
  s.description = "Wrapper for Faraday with additional functionality"
@@ -43,7 +43,6 @@ Gem::Specification.new do |s|
43
43
  lib/http_utilities/http/proxy_support.rb
44
44
  lib/http_utilities/http/request.rb
45
45
  lib/http_utilities/http/response.rb
46
- lib/http_utilities/http/url.rb
47
46
  lib/http_utilities/http/user_agent.rb
48
47
  lib/http_utilities/jobs/resque/proxies/check_proxies_job.rb
49
48
  lib/http_utilities/jobs/resque/proxies/check_proxy_job.rb
@@ -1,12 +1,11 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  module HttpUtilities
3
- VERSION = "1.2.3"
3
+ VERSION = "1.2.4"
4
4
 
5
5
  require File.join(File.dirname(__FILE__), 'http_utilities/railtie') if defined?(Rails)
6
6
 
7
7
  require File.join(File.dirname(__FILE__), 'http_utilities/http/proxy_support')
8
8
  require File.join(File.dirname(__FILE__), 'http_utilities/http/user_agent')
9
- require File.join(File.dirname(__FILE__), 'http_utilities/http/url')
10
9
  require File.join(File.dirname(__FILE__), 'http_utilities/http/logger')
11
10
 
12
11
  require File.join(File.dirname(__FILE__), 'http_utilities/http/request')
@@ -1,7 +1,4 @@
1
1
  # -*- encoding : utf-8 -*-
2
- require 'open-uri'
3
- require 'uri'
4
- require 'cgi'
5
2
 
6
3
  module HttpUtilities
7
4
  module Http
@@ -10,7 +7,7 @@ module HttpUtilities
10
7
 
11
8
  def get(url, arguments: {}, options: {}, retries: 3)
12
9
  response = nil
13
- request = build_request(options)
10
+ request = build_request(options: options)
14
11
 
15
12
  begin
16
13
  response = request.interface.get(url, arguments)
@@ -27,7 +24,7 @@ module HttpUtilities
27
24
 
28
25
  def post(url, data: nil, options: {}, retries: 3)
29
26
  response = nil
30
- request = build_request(options)
27
+ request = build_request(options: options)
31
28
 
32
29
  begin
33
30
  response = request.interface.post(url, data)
@@ -43,25 +40,36 @@ module HttpUtilities
43
40
  end
44
41
 
45
42
  private
46
- def build_request(options = {}, faraday_options = {})
47
- options = options.dup
48
- options = options.merge(ssl: {:verify => false})
43
+ def build_request(options: {}, client_options: {})
44
+ client_options = client_options.merge(ssl: {verify: false})
49
45
 
50
- adapter = options.delete(:adapter) { |opt| Faraday.default_adapter }
51
- timeout = options.delete(:timeout) { |opt| 60 }
52
- open_timeout = options.delete(:open_timeout) { |opt| 60 }
46
+ adapter = options.fetch(:adapter, Faraday.default_adapter)
47
+ timeout = options.fetch(:timeout, 60)
48
+ open_timeout = options.fetch(:open_timeout, 60)
49
+ request_headers = options.fetch(:request_headers, {})
50
+ response_adapters = options.fetch(:response_adapters, [])
53
51
 
54
52
  request = HttpUtilities::Http::Request.new
55
53
  request.set_proxy_options(options)
56
54
 
57
55
  proxy_options = request.generate_proxy_options
58
56
 
59
- connection = Faraday.new(faraday_options) do |builder|
57
+ connection = Faraday.new(client_options) do |builder|
60
58
  builder.headers[:user_agent] = request.user_agent
61
- builder.options[:timeout] = timeout
62
- builder.options[:open_timeout] = open_timeout
63
- #builder.response :logger
59
+
60
+ request_headers.each do |key, value|
61
+ builder.headers[key] = value
62
+ end if request_headers && !request_headers.empty?
63
+
64
+ builder.options[:timeout] = timeout if timeout
65
+ builder.options[:open_timeout] = open_timeout if open_timeout
66
+
67
+ response_adapters.each do |response_adapter|
68
+ builder.send(:response, response_adapter)
69
+ end if response_adapters && response_adapters.any?
70
+
64
71
  builder.proxy proxy_options unless proxy_options.empty?
72
+
65
73
  builder.adapter adapter
66
74
  end
67
75
 
@@ -1,10 +1,4 @@
1
1
  # -*- encoding : utf-8 -*-
2
- require 'open-uri'
3
- require 'net/http'
4
- require 'uri'
5
- require 'cgi'
6
- require 'mechanize'
7
- require 'logger'
8
2
 
9
3
  module HttpUtilities
10
4
  module Http
@@ -14,7 +8,6 @@ module HttpUtilities
14
8
  attr_accessor :agent, :proxy, :user_agent
15
9
 
16
10
  include HttpUtilities::Http::Logger
17
- include HttpUtilities::Http::Url
18
11
  include HttpUtilities::Http::ProxySupport
19
12
  include HttpUtilities::Http::UserAgent
20
13
 
@@ -1,6 +1,3 @@
1
- require 'open-uri'
2
- require 'uri'
3
-
4
1
  module HttpUtilities
5
2
  module Http
6
3
  module ProxySupport
@@ -13,7 +10,7 @@ module HttpUtilities
13
10
  proxy_credentials = options.fetch(:proxy_credentials, nil)
14
11
  reset_proxy = options.fetch(:reset_proxy, true)
15
12
 
16
- if (reset_proxy)
13
+ if reset_proxy
17
14
  self.proxy = {}
18
15
  self.proxy[:host] = options.fetch(:proxy_host, nil)
19
16
  self.proxy[:port] = options.fetch(:proxy_port, nil)
@@ -6,22 +6,20 @@ module HttpUtilities
6
6
  attr_accessor :body, :parsed_body, :page, :format, :request, :force_encoding
7
7
 
8
8
  def initialize(response = nil, request = nil, options = {})
9
- options = options.dup
10
-
11
9
  self.body = (response && response.body) ? response.body : nil
12
10
  self.request = request
13
11
 
14
12
  self.parsed_body = nil
15
13
 
16
- self.format = options.delete(:format) { |e| nil }
17
- self.force_encoding = options.delete(:force_encoding) { |e| true }
14
+ self.format = options.fetch(:format, nil)
15
+ self.force_encoding = options.fetch(:force_encoding, true)
18
16
 
19
17
  encode if (self.force_encoding)
20
18
  parse_response
21
19
  end
22
20
 
23
21
  def encode
24
- if (self.body)
22
+ if self.body && self.body.is_a?(String)
25
23
  begin
26
24
  self.body = self.body.force_encoding('UTF-8').encode("UTF-8", :invalid => :replace, :undef => :replace, :replace => "")
27
25
  rescue Exception => e
@@ -49,9 +47,9 @@ module HttpUtilities
49
47
  def set_page(page)
50
48
  self.page = page
51
49
 
52
- if (page && page.parser)
53
- self.body = page.parser.content
54
- self.parsed_body = page.parser
50
+ if (self.page && self.page.parser)
51
+ self.body = self.page.parser.content
52
+ self.parsed_body = self.page.parser
55
53
  end
56
54
  end
57
55
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: http_utilities
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.3
4
+ version: 1.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sebastian Johnsson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-05-24 00:00:00.000000000 Z
11
+ date: 2016-05-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -148,7 +148,6 @@ files:
148
148
  - lib/http_utilities/http/proxy_support.rb
149
149
  - lib/http_utilities/http/request.rb
150
150
  - lib/http_utilities/http/response.rb
151
- - lib/http_utilities/http/url.rb
152
151
  - lib/http_utilities/http/user_agent.rb
153
152
  - lib/http_utilities/jobs/resque/proxies/check_proxies_job.rb
154
153
  - lib/http_utilities/jobs/resque/proxies/check_proxy_job.rb
@@ -1,48 +0,0 @@
1
- require 'open-uri'
2
- require 'uri'
3
- require 'cgi'
4
-
5
- module HttpUtilities
6
- module Http
7
- module Url
8
-
9
- def generate_request_url(params = {})
10
- params.symbolize_keys!
11
- url = params.delete(:url) { |e| "" }
12
-
13
- sorted_params = params.sort
14
- query_parts = []
15
-
16
- sorted_params.each do |param_row|
17
- param = encode_param(param_row.first)
18
- value = encode_param(param_row.last)
19
- query_parts << "#{param}=#{value}"
20
- end
21
-
22
- query = query_parts.join("&")
23
- request = "#{url}?#{query}"
24
- return request
25
- end
26
-
27
- def generate_request_params(params)
28
- sorted_params = params.sort
29
- query_parts = []
30
-
31
- sorted_params.each do |param_row|
32
- param = param_row.first
33
- value = param_row.last
34
- query_parts << "#{param}=#{value}"
35
- end
36
-
37
- query = query_parts.join("&")
38
-
39
- return query
40
- end
41
-
42
- def encode_param(param)
43
- return CGI.escape(param.to_s).to_s.gsub("+", "%20").gsub("%7E", "~") if (param)
44
- end
45
-
46
- end
47
- end
48
- end