net-hippie 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/net/hippie.rb +1 -0
- data/lib/net/hippie/api.rb +27 -0
- data/lib/net/hippie/client.rb +18 -25
- data/lib/net/hippie/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4c5d155f5448e9f33bc6c2bef4af075a3804929a7eace6664f4e88b6e7b79d12
|
4
|
+
data.tar.gz: da74b837e82a4daa13b208b3692ec48c15f5610f2d5176d345f7f2bc9fdfee0d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 86c640e0a1f436386e52b10115435bc71d7ef4b267fe84d61cfd00554dc2b9239f82aeec46f2b52090127c21b1faea953d9e27c6aae3b84244b61e5b434c26d4
|
7
|
+
data.tar.gz: 4076fb61f5c81ab74dd9e22e94d10a7756d93316550cb842c9b32a2a5f32703ed3f86ffa00b8a0ba1adbd4b32a0bedefb2511b7fda145fadbdac5c8544b28c21
|
data/lib/net/hippie.rb
CHANGED
@@ -0,0 +1,27 @@
|
|
1
|
+
module Net
|
2
|
+
module Hippie
|
3
|
+
# A no nonsense class to perform HTTP requests.
|
4
|
+
class Api
|
5
|
+
attr_reader :uri, :verify_mode
|
6
|
+
|
7
|
+
def initialize(url, verify_none: false)
|
8
|
+
@uri = URI.parse(url)
|
9
|
+
@verify_mode = OpenSSL::SSL::VERIFY_NONE if verify_none
|
10
|
+
end
|
11
|
+
|
12
|
+
def get
|
13
|
+
client.get(uri).body
|
14
|
+
end
|
15
|
+
|
16
|
+
def execute(request)
|
17
|
+
client.execute(uri, request)
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def client
|
23
|
+
@client ||= Client.new(headers: {}, verify_mode: verify_mode)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/lib/net/hippie/client.rb
CHANGED
@@ -8,27 +8,25 @@ module Net
|
|
8
8
|
'User-Agent' => "net/hippie #{Net::Hippie::VERSION}"
|
9
9
|
}.freeze
|
10
10
|
|
11
|
+
attr_accessor :mapper
|
12
|
+
|
11
13
|
def initialize(
|
12
14
|
certificate: nil,
|
13
15
|
headers: DEFAULT_HEADERS,
|
14
16
|
key: nil,
|
15
|
-
|
16
|
-
|
17
|
+
passphrase: nil,
|
18
|
+
verify_mode: nil
|
17
19
|
)
|
18
20
|
@certificate = certificate
|
19
21
|
@default_headers = headers
|
20
22
|
@key = key
|
21
|
-
@mapper =
|
23
|
+
@mapper = JsonMapper.new
|
22
24
|
@passphrase = passphrase
|
25
|
+
@verify_mode = verify_mode
|
23
26
|
end
|
24
27
|
|
25
28
|
def execute(uri, request)
|
26
|
-
http_for(uri).request(request)
|
27
|
-
end
|
28
|
-
|
29
|
-
def get(uri, headers: {}, body: {})
|
30
|
-
request = request_for(Net::HTTP::Get, uri, headers: headers, body: body)
|
31
|
-
response = execute(uri, request)
|
29
|
+
response = http_for(normalize_uri(uri)).request(request)
|
32
30
|
if block_given?
|
33
31
|
yield request, response
|
34
32
|
else
|
@@ -36,38 +34,33 @@ module Net
|
|
36
34
|
end
|
37
35
|
end
|
38
36
|
|
39
|
-
def
|
37
|
+
def get(uri, headers: {}, body: {}, &block)
|
38
|
+
request = request_for(Net::HTTP::Get, uri, headers: headers, body: body)
|
39
|
+
execute(uri, request, &block)
|
40
|
+
end
|
41
|
+
|
42
|
+
def post(uri, headers: {}, body: {}, &block)
|
40
43
|
type = Net::HTTP::Post
|
41
44
|
request = request_for(type, uri, headers: headers, body: body)
|
42
|
-
|
43
|
-
if block_given?
|
44
|
-
yield request, response
|
45
|
-
else
|
46
|
-
response
|
47
|
-
end
|
45
|
+
execute(uri, request, &block)
|
48
46
|
end
|
49
47
|
|
50
|
-
def put(uri, headers: {}, body: {})
|
48
|
+
def put(uri, headers: {}, body: {}, &block)
|
51
49
|
request = request_for(Net::HTTP::Put, uri, headers: headers, body: body)
|
52
|
-
|
53
|
-
if block_given?
|
54
|
-
yield request, response
|
55
|
-
else
|
56
|
-
response
|
57
|
-
end
|
50
|
+
execute(uri, request, &block)
|
58
51
|
end
|
59
52
|
|
60
53
|
private
|
61
54
|
|
62
55
|
attr_reader :default_headers
|
56
|
+
attr_reader :verify_mode
|
63
57
|
attr_reader :certificate, :key, :passphrase
|
64
|
-
attr_reader :mapper
|
65
58
|
|
66
59
|
def http_for(uri)
|
67
|
-
uri = normalize_uri(uri)
|
68
60
|
http = Net::HTTP.new(uri.host, uri.port)
|
69
61
|
http.read_timeout = 30
|
70
62
|
http.use_ssl = uri.is_a?(URI::HTTPS)
|
63
|
+
http.verify_mode = verify_mode
|
71
64
|
http.set_debug_output(Net::Hippie.logger)
|
72
65
|
if certificate && key
|
73
66
|
http.cert = OpenSSL::X509::Certificate.new(certificate) if certificate
|
data/lib/net/hippie/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: net-hippie
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- mo
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-05-
|
11
|
+
date: 2018-05-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -116,6 +116,7 @@ files:
|
|
116
116
|
- bin/test
|
117
117
|
- exe/net-hippie
|
118
118
|
- lib/net/hippie.rb
|
119
|
+
- lib/net/hippie/api.rb
|
119
120
|
- lib/net/hippie/client.rb
|
120
121
|
- lib/net/hippie/json_mapper.rb
|
121
122
|
- lib/net/hippie/version.rb
|