kaze_client 0.3.0 → 0.3.1
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 +6 -0
- data/lib/kaze_client/request/request.rb +33 -13
- data/lib/kaze_client/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 483e914296f78875d5a5eb30e3207f7f99d8db4c7bfddbc8440f3983e99f5605
|
4
|
+
data.tar.gz: ebb0a204c158f59fa6cdde4d04573b1beaeaa94b07f86b8b7815ce59c9e40ca0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c3006d994cb61c5b180449f58dce770ddb7f12cf3636cb3247b2b669f7ea387b3d4a71085645a1671d0aea0e298ba1f28db984227dbcc5c9d1e39809041ba0b7
|
7
|
+
data.tar.gz: a96e0bcd0089c80c89bed0573ff829d62e727f5b3e4d6de0b87b0a6b3158cb17bb1c5344fbd35bca8a52ced6b9466024365e004dc02fc704005e662a8b34615d
|
data/CHANGELOG.md
CHANGED
@@ -10,7 +10,7 @@ module KazeClient
|
|
10
10
|
# Those headers are added on all requests by default
|
11
11
|
DEFAULT_HEADERS = {
|
12
12
|
'Content-Type' => 'application/json',
|
13
|
-
'Accept'
|
13
|
+
'Accept' => 'application/json'
|
14
14
|
}.freeze
|
15
15
|
|
16
16
|
# @return [String, Symbol] The HTTP verb to use for the request
|
@@ -64,19 +64,12 @@ module KazeClient
|
|
64
64
|
# @param response [HTTParty::Response] The response object from HTTParty call
|
65
65
|
# @return [KazeClient::Error::Generic] The adequate error object according to the given response
|
66
66
|
def error_for(response)
|
67
|
-
|
68
|
-
|
69
|
-
return KazeClient::Error::NotFound.new if response.code == 404
|
67
|
+
error = response.parsed_response['error']
|
68
|
+
message = response.parsed_response['message']
|
70
69
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
rescue NameError
|
75
|
-
# This means no error class exists for the error code in the response, we fallback to a
|
76
|
-
# generic error
|
77
|
-
Error::Generic.new(status: response.code,
|
78
|
-
error: response.parsed_response['error'],
|
79
|
-
message: response.parsed_response['message'])
|
70
|
+
return non_generic_error(error, message, response) if error != 'generic'
|
71
|
+
|
72
|
+
generic_http_error(error, message, response)
|
80
73
|
end
|
81
74
|
|
82
75
|
protected
|
@@ -100,6 +93,8 @@ module KazeClient
|
|
100
93
|
@body
|
101
94
|
when Hash
|
102
95
|
@body.to_json
|
96
|
+
else
|
97
|
+
@body.to_s
|
103
98
|
end
|
104
99
|
end
|
105
100
|
|
@@ -109,5 +104,30 @@ module KazeClient
|
|
109
104
|
|
110
105
|
@query
|
111
106
|
end
|
107
|
+
|
108
|
+
def non_generic_error(error, message, response)
|
109
|
+
# Return the adequate error class for the error code in the response
|
110
|
+
"KazeClient::Error::#{error.camelize}".constantize.new(message)
|
111
|
+
rescue NameError
|
112
|
+
# This means no error class exists for the error code in the response, we fallback to a
|
113
|
+
# generic error
|
114
|
+
Error::Generic.new(status: response.code, error: error, message: message)
|
115
|
+
end
|
116
|
+
|
117
|
+
def generic_http_error(error, message, response)
|
118
|
+
case response.code
|
119
|
+
when 401
|
120
|
+
KazeClient::Error::Unauthorized.new(message)
|
121
|
+
when 403
|
122
|
+
KazeClient::Error::Forbidden.new(message)
|
123
|
+
when 404
|
124
|
+
KazeClient::Error::NotFound.new
|
125
|
+
when 500
|
126
|
+
KazeClient::Error::InternalServerError.new(message)
|
127
|
+
else
|
128
|
+
# This means no error class exists for the response code, we fallback to a generic error
|
129
|
+
Error::Generic.new(status: response.code, error: error, message: message)
|
130
|
+
end
|
131
|
+
end
|
112
132
|
end
|
113
133
|
end
|
data/lib/kaze_client/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kaze_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthieu Ciappara
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-11-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|