seatsio 51.3.0 → 51.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/seatsio/exception.rb +3 -0
- data/lib/seatsio/httpClient.rb +26 -5
- data/lib/seatsio/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: 56a644926444297963f2f3bf83f06766072cfaab7b6964e0e5e8e2e3eb22842d
|
4
|
+
data.tar.gz: 723050a281e26c7c44688d947d2b6cd7228e5849ac991c1f9d3e929cc2a375a7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ba324ca8a888103228ddbfa77c88f996e6bd0a72bf92cdfc8f40084d30999c1cd2b724b25c9b3245011ec22873ba250b45170c877c756772e1880359f36a417
|
7
|
+
data.tar.gz: 516680e34fef8abd807f9095e9b72f18ba74523be06ff123d43c572d63eca1547b2a4a5e21ba3c60f28cbaf52d41a3d09cea5594e37492f57ec9b8f7824033eb
|
data/Gemfile.lock
CHANGED
data/lib/seatsio/exception.rb
CHANGED
data/lib/seatsio/httpClient.rb
CHANGED
@@ -49,11 +49,7 @@ module Seatsio
|
|
49
49
|
rescue RestClient::NotFound => e
|
50
50
|
raise Exception::NotFoundException.new(e.response)
|
51
51
|
rescue RestClient::ExceptionWithResponse => e
|
52
|
-
|
53
|
-
raise Exception::RateLimitExceededException.new(e.response)
|
54
|
-
else
|
55
|
-
raise Exception::SeatsioException.new(e.response)
|
56
|
-
end
|
52
|
+
handle_exception(e.response)
|
57
53
|
rescue RestClient::Exceptions::Timeout
|
58
54
|
raise Exception::SeatsioException.new("Timeout ERROR")
|
59
55
|
rescue SocketError
|
@@ -94,5 +90,30 @@ module Seatsio
|
|
94
90
|
def delete(endpoint, payload = {})
|
95
91
|
execute(:delete, endpoint, payload)
|
96
92
|
end
|
93
|
+
|
94
|
+
private
|
95
|
+
|
96
|
+
def handle_exception(response)
|
97
|
+
if response.code == 429
|
98
|
+
raise Exception::RateLimitExceededException.new(response)
|
99
|
+
end
|
100
|
+
|
101
|
+
content_type = response.headers[:content_type]
|
102
|
+
if content_type&.include?("application/json")
|
103
|
+
parsed_exception = JSON.parse(response.body, symbolize_names: true)
|
104
|
+
if best_available_objects_not_found?(parsed_exception[:errors])
|
105
|
+
raise Exception::BestAvailableObjectsNotFoundException.new(response)
|
106
|
+
else
|
107
|
+
raise Exception::SeatsioException.new(response)
|
108
|
+
end
|
109
|
+
else
|
110
|
+
raise Exception::SeatsioException.new(response)
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
def best_available_objects_not_found?(errors)
|
115
|
+
errors.any? { |error| error[:code] == "BEST_AVAILABLE_OBJECTS_NOT_FOUND" }
|
116
|
+
end
|
117
|
+
|
97
118
|
end
|
98
119
|
end
|
data/lib/seatsio/version.rb
CHANGED