http_utilities 1.2.3 → 1.2.4

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
  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