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