net-hippie 0.1.5 → 0.1.6

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
  SHA256:
3
- metadata.gz: 12ccfad50c8db9e96df5f49a277ba31b2b039fcc685aed30a733b27a620d64ee
4
- data.tar.gz: 85196d13bc7e652dc064ac73d639cb4c4f4c945ca6298bdf2425547b792fd7e5
3
+ metadata.gz: 4c5d155f5448e9f33bc6c2bef4af075a3804929a7eace6664f4e88b6e7b79d12
4
+ data.tar.gz: da74b837e82a4daa13b208b3692ec48c15f5610f2d5176d345f7f2bc9fdfee0d
5
5
  SHA512:
6
- metadata.gz: 8557e62376abba6c5edb1ebe2a44b490bf26ab93b0a766e0b3987c53c5a174b96f211d803e66b0634f74ef6f4d1b71c9764e9e422bbacbb449507b1fbf993792
7
- data.tar.gz: af6365c53418c152c3cf26903eb053c7e89956e39c33d03a1cef1f84fe41a6a81135885adb57de110f0d4b0337d418ddff79485a9a719a2fbc0e68c27638888f
6
+ metadata.gz: 86c640e0a1f436386e52b10115435bc71d7ef4b267fe84d61cfd00554dc2b9239f82aeec46f2b52090127c21b1faea953d9e27c6aae3b84244b61e5b434c26d4
7
+ data.tar.gz: 4076fb61f5c81ab74dd9e22e94d10a7756d93316550cb842c9b32a2a5f32703ed3f86ffa00b8a0ba1adbd4b32a0bedefb2511b7fda145fadbdac5c8544b28c21
data/lib/net/hippie.rb CHANGED
@@ -6,6 +6,7 @@ require 'openssl'
6
6
  require 'net/hippie/version'
7
7
  require 'net/hippie/json_mapper'
8
8
  require 'net/hippie/client'
9
+ require 'net/hippie/api'
9
10
 
10
11
  module Net
11
12
  # net/http for hippies.
@@ -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
@@ -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
- mapper: JsonMapper.new,
16
- passphrase: nil
17
+ passphrase: nil,
18
+ verify_mode: nil
17
19
  )
18
20
  @certificate = certificate
19
21
  @default_headers = headers
20
22
  @key = key
21
- @mapper = 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 post(uri, headers: {}, body: {})
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
- response = execute(uri, request)
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
- response = execute(uri, request)
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
@@ -1,5 +1,5 @@
1
1
  module Net
2
2
  module Hippie
3
- VERSION = '0.1.5'.freeze
3
+ VERSION = '0.1.6'.freeze
4
4
  end
5
5
  end
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.5
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-07 00:00:00.000000000 Z
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