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 +4 -4
- data/VERSION +1 -1
- data/http_utilities.gemspec +1 -2
- data/lib/http_utilities.rb +1 -2
- data/lib/http_utilities/http/client.rb +23 -15
- data/lib/http_utilities/http/mechanize/client.rb +0 -7
- data/lib/http_utilities/http/proxy_support.rb +1 -4
- data/lib/http_utilities/http/response.rb +6 -8
- metadata +2 -3
- data/lib/http_utilities/http/url.rb +0 -48
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3577e7c051ab3a26079db6562db3bf872b04dfb6
|
4
|
+
data.tar.gz: d39436f355b7c6df18009cabc68178e48dd72373
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 64fda9009c189da05973d2c774b4c3c64af0045029e768ad035c26efcf2f07d274840d633217281506a47024a0d47916b6724888eb3664d98e8c05532dbd5563
|
7
|
+
data.tar.gz: 259a5b420c51ca5f03dbd2c2505a41b487c0674665a18160c7ead7014acf649b3ff936c9b81affbd68df74a5f082572b3726a81c1dacd665ac99ca6301df03ed
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.2.
|
1
|
+
1.2.4
|
data/http_utilities.gemspec
CHANGED
@@ -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.
|
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
|
data/lib/http_utilities.rb
CHANGED
@@ -1,12 +1,11 @@
|
|
1
1
|
# -*- encoding : utf-8 -*-
|
2
2
|
module HttpUtilities
|
3
|
-
VERSION = "1.2.
|
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
|
47
|
-
|
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
|
51
|
-
timeout
|
52
|
-
open_timeout
|
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(
|
57
|
+
connection = Faraday.new(client_options) do |builder|
|
60
58
|
builder.headers[:user_agent] = request.user_agent
|
61
|
-
|
62
|
-
|
63
|
-
|
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
|
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.
|
17
|
-
self.force_encoding = options.
|
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
|
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.
|
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-
|
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
|