service_client 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/service_client/base.rb +32 -8
- data/lib/service_client/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ef70f71d1ff5daf899d92ef3e56f0b342ab08265725f01dee7b56653a4f3686b
|
4
|
+
data.tar.gz: d91e2c02bae3a8252dc030aaaacf8f4699f63a1174c5e0addba893f1e1e4f375
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 644443a0c8e582ac6835aaf8a0842e7963ca751ea11f34c5e1908088b5dc46ec5086d6e2a960c4214454a104422e9a9a7277ef229e3a1baadd6f25d01c51f404
|
7
|
+
data.tar.gz: 8948d6757a730b924896a666fac5dedb4152a80b7d65f49ddbbeb25137ccfa1a1b722fc412e2925d33f8792346b0c59438b4b853ddb30469acf2e957b6eff6f1
|
data/lib/service_client/base.rb
CHANGED
@@ -4,17 +4,24 @@ require 'httparty'
|
|
4
4
|
require_relative 'response'
|
5
5
|
|
6
6
|
module ServiceClient
|
7
|
-
#
|
7
|
+
# ParamsRequired error
|
8
8
|
class ParamsRequired < StandardError; end
|
9
|
-
|
10
|
-
class Base
|
11
|
-
# ParamsRequired error
|
12
9
|
|
10
|
+
# Base class
|
11
|
+
class Base
|
13
12
|
class << self
|
13
|
+
def base_url(url = nil)
|
14
|
+
@base_url = url
|
15
|
+
end
|
16
|
+
|
17
|
+
def default_headers(headers = nil)
|
18
|
+
@default_headers = headers
|
19
|
+
end
|
20
|
+
|
14
21
|
def post(url = nil, headers: nil, body: nil)
|
15
22
|
raise_params_required(url: url, headers: headers, body: body)
|
16
23
|
|
17
|
-
request = HTTParty.post(url, headers: headers, body: body)
|
24
|
+
request = HTTParty.post(build_url(url), headers: build_headers(headers), body: body)
|
18
25
|
|
19
26
|
make_response(request)
|
20
27
|
end
|
@@ -22,7 +29,7 @@ module ServiceClient
|
|
22
29
|
def get(url = nil, headers: nil)
|
23
30
|
raise_params_required(url: url)
|
24
31
|
|
25
|
-
request = HTTParty.get(url, headers: headers)
|
32
|
+
request = HTTParty.get(build_url(url), headers: build_headers(headers))
|
26
33
|
|
27
34
|
make_response(request)
|
28
35
|
end
|
@@ -30,7 +37,7 @@ module ServiceClient
|
|
30
37
|
def put(url = nil, headers: nil, body: nil)
|
31
38
|
raise_params_required(url: url, body: body)
|
32
39
|
|
33
|
-
request = HTTParty.put(url, headers: headers, body: body)
|
40
|
+
request = HTTParty.put(build_url(url), headers: build_headers(headers), body: body)
|
34
41
|
|
35
42
|
make_response(request)
|
36
43
|
end
|
@@ -38,7 +45,7 @@ module ServiceClient
|
|
38
45
|
def delete(url = nil, headers: nil)
|
39
46
|
raise_params_required(url: url)
|
40
47
|
|
41
|
-
request = HTTParty.delete(url, headers: headers)
|
48
|
+
request = HTTParty.delete(build_url(url), headers: build_headers(headers))
|
42
49
|
|
43
50
|
make_response(request)
|
44
51
|
end
|
@@ -60,6 +67,23 @@ module ServiceClient
|
|
60
67
|
def params_nil?(params)
|
61
68
|
params.values.any?(&:nil?)
|
62
69
|
end
|
70
|
+
|
71
|
+
def build_url(path)
|
72
|
+
base_url = instance_variable_get('@base_url')
|
73
|
+
|
74
|
+
return if base_url.nil? && path.nil?
|
75
|
+
|
76
|
+
[base_url, path].compact.join('/')
|
77
|
+
end
|
78
|
+
|
79
|
+
def build_headers(headers)
|
80
|
+
default_headers = instance_variable_get('@default_headers')
|
81
|
+
return default_headers if headers.nil?
|
82
|
+
|
83
|
+
return headers if default_headers.nil?
|
84
|
+
|
85
|
+
default_headers.merge(headers)
|
86
|
+
end
|
63
87
|
end
|
64
88
|
end
|
65
89
|
end
|