http_mini 0.2.3 → 0.3.0
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/CHANGELOG.md +5 -0
- data/lib/http_mini.rb +16 -39
- metadata +2 -3
- data/lib/request.rb +0 -17
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 166acd0db0024022ec7e07c1de9c80541df9b499
|
|
4
|
+
data.tar.gz: 876d20b39d257334c356b19196efa1b15417ecb7
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4dc9413dcbdb34d68a6b22a8949cb7596b3f5bae1a311facc2808bcc5a28028bfcef317fe834ca1a3981b0dcc1870c79ede099d177515c420b7bb4a8dc0ef845
|
|
7
|
+
data.tar.gz: 7d90442a228947c494491a61775cc8d96e33b6d7a1ee09e130d77ee192ba2a9c8e688e45a5b4b4bf1a144b1cc41acfed15079bca5b894f3136d2e78bef3192cb
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
## vNEXT
|
|
2
2
|
|
|
3
|
+
## v3.0.0
|
|
4
|
+
* Performance improvements
|
|
5
|
+
* Refactoring. As part of the refactoring, there is now only one option for timeout used for both open and read
|
|
6
|
+
and no more default values.
|
|
7
|
+
|
|
3
8
|
## v0.2.3
|
|
4
9
|
* Allow to set request headers via options hash
|
|
5
10
|
* Remove unnecessary code since 0.2.2 improved uri handling
|
data/lib/http_mini.rb
CHANGED
|
@@ -5,12 +5,10 @@ class HttpMini
|
|
|
5
5
|
|
|
6
6
|
attr_accessor :opts
|
|
7
7
|
|
|
8
|
-
OPEN_TIMEOUT = 2
|
|
9
|
-
READ_TIMEOUT = 2
|
|
10
8
|
IGNORE_ERROR = true
|
|
11
9
|
|
|
12
10
|
def self.VERSION
|
|
13
|
-
'0.
|
|
11
|
+
'0.3.0'
|
|
14
12
|
end
|
|
15
13
|
|
|
16
14
|
def initialize(uri, opts = {})
|
|
@@ -19,27 +17,27 @@ class HttpMini
|
|
|
19
17
|
end
|
|
20
18
|
|
|
21
19
|
def head
|
|
22
|
-
request Net::HTTP::Head.new(full_path)
|
|
20
|
+
request Net::HTTP::Head.new(full_path, headers)
|
|
23
21
|
end
|
|
24
22
|
|
|
25
23
|
def get
|
|
26
|
-
request Net::HTTP::Get.new(full_path)
|
|
24
|
+
request Net::HTTP::Get.new(full_path, headers)
|
|
27
25
|
end
|
|
28
26
|
|
|
29
27
|
def post(data)
|
|
30
|
-
request Net::HTTP::Post.new(full_path), data
|
|
28
|
+
request Net::HTTP::Post.new(full_path, headers), data
|
|
31
29
|
end
|
|
32
30
|
|
|
33
31
|
def put(data)
|
|
34
|
-
request Net::HTTP::Put.new(full_path), data
|
|
32
|
+
request Net::HTTP::Put.new(full_path, headers), data
|
|
35
33
|
end
|
|
36
34
|
|
|
37
35
|
def delete
|
|
38
|
-
request Net::HTTP::Delete.new(full_path)
|
|
36
|
+
request Net::HTTP::Delete.new(full_path, headers)
|
|
39
37
|
end
|
|
40
38
|
|
|
41
39
|
def options
|
|
42
|
-
request Net::HTTP::Options.new(full_path)
|
|
40
|
+
request Net::HTTP::Options.new(full_path, headers)
|
|
43
41
|
end
|
|
44
42
|
|
|
45
43
|
def poke
|
|
@@ -65,7 +63,7 @@ class HttpMini
|
|
|
65
63
|
end
|
|
66
64
|
|
|
67
65
|
def path(path=nil)
|
|
68
|
-
path.nil? ?
|
|
66
|
+
path.nil? ? @uri.request_uri : set_path(path)
|
|
69
67
|
end
|
|
70
68
|
|
|
71
69
|
private
|
|
@@ -75,23 +73,18 @@ class HttpMini
|
|
|
75
73
|
end
|
|
76
74
|
|
|
77
75
|
def handle_missing_scheme(uri)
|
|
78
|
-
uri
|
|
76
|
+
uri[0..3] == 'http' ? uri : "http://#{uri}"
|
|
79
77
|
end
|
|
80
78
|
|
|
81
79
|
def request(req, data=nil)
|
|
82
|
-
|
|
80
|
+
http.start { |http| http.request(req, data) }
|
|
83
81
|
end
|
|
84
82
|
|
|
85
|
-
def
|
|
86
|
-
@uri.
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
http.open_timeout, http.read_timeout = timeouts
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
def set_headers(req)
|
|
94
|
-
headers.each { |key, value| req[key] = value } and return req
|
|
83
|
+
def http
|
|
84
|
+
http = Net::HTTP.new(@uri.host, @uri.port)
|
|
85
|
+
http.use_ssl = @uri.instance_of?(URI::HTTPS)
|
|
86
|
+
http.open_timeout = http.read_timeout = opts[:timeout] if opts.key? :timeout
|
|
87
|
+
http
|
|
95
88
|
end
|
|
96
89
|
|
|
97
90
|
def headers
|
|
@@ -99,11 +92,7 @@ class HttpMini
|
|
|
99
92
|
end
|
|
100
93
|
|
|
101
94
|
def full_path
|
|
102
|
-
@uri.
|
|
103
|
-
end
|
|
104
|
-
|
|
105
|
-
def default_path(path)
|
|
106
|
-
path.to_s.empty? ? '/' : path
|
|
95
|
+
@uri.request_uri
|
|
107
96
|
end
|
|
108
97
|
|
|
109
98
|
def set_path(path)
|
|
@@ -116,18 +105,6 @@ class HttpMini
|
|
|
116
105
|
path.gsub /\?.*/, ''
|
|
117
106
|
end
|
|
118
107
|
|
|
119
|
-
def timeouts
|
|
120
|
-
[open_timeout, read_timeout]
|
|
121
|
-
end
|
|
122
|
-
|
|
123
|
-
def open_timeout
|
|
124
|
-
opts[:open_timeout].nil? ? OPEN_TIMEOUT : opts[:open_timeout]
|
|
125
|
-
end
|
|
126
|
-
|
|
127
|
-
def read_timeout
|
|
128
|
-
opts[:read_timeout].nil? ? READ_TIMEOUT : opts[:read_timeout]
|
|
129
|
-
end
|
|
130
|
-
|
|
131
108
|
def ignore_error?
|
|
132
109
|
opts[:ignore_error].nil? ? IGNORE_ERROR : opts[:ignore_error]
|
|
133
110
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: http_mini
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jerome Touffe-Blin
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2013-09-
|
|
11
|
+
date: 2013-09-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: sinatra
|
|
@@ -76,7 +76,6 @@ extra_rdoc_files:
|
|
|
76
76
|
- CHANGELOG.md
|
|
77
77
|
files:
|
|
78
78
|
- lib/http_mini.rb
|
|
79
|
-
- lib/request.rb
|
|
80
79
|
- LICENSE
|
|
81
80
|
- README.md
|
|
82
81
|
- CHANGELOG.md
|