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