@@ -104,22 +104,7 @@ def create(self, entity):
104104 try :
105105 response = self .service .execute ('post' , url , json = json_dict )
106106 except requests .exceptions .HTTPError as e :
107- # Handle non-JSON error responses gracefully
108- try :
109- err = e .response .json ()
110- if isinstance (err , dict ):
111- error_message = err .get ('message' , err .get ('error' , str (err )))
112- else :
113- error_message = str (err )
114- except Exception :
115- try :
116- error_message = getattr (e .response , 'text' , str (e ))
117- except Exception :
118- error_message = str (e )
119- logging .error ("Creating {} failed with status-code {}, {}" .format (type (entity ).__name__ ,
120- getattr (e .response , 'status_code' , 'unknown' ),
121- error_message ))
122- raise e
107+ frost_sta_client .utils .handle_server_error (e , 'Creating {}' .format (type (entity ).__name__ ))
123108 entity .id = frost_sta_client .utils .extract_value (response .headers ['location' ])
124109 entity .service = self .service
125110 logging .debug ('Received response: ' + str (response .status_code ))
@@ -148,22 +133,7 @@ def patch(self, entity, patches):
148133 try :
149134 response = self .service .execute ('patch' , url , json = patches , headers = headers )
150135 except requests .exceptions .HTTPError as e :
151- # Handle non-JSON error responses gracefully
152- try :
153- err = e .response .json ()
154- if isinstance (err , dict ):
155- error_message = err .get ('message' , err .get ('error' , str (err )))
156- else :
157- error_message = str (err )
158- except Exception :
159- try :
160- error_message = getattr (e .response , 'text' , str (e ))
161- except Exception :
162- error_message = str (e )
163- logging .error ("Patching {} failed with status-code {}, {}" .format (type (entity ).__name__ ,
164- getattr (e .response , 'status_code' , 'unknown' ),
165- error_message ))
166- raise e
136+ frost_sta_client .utils .handle_server_error (e , 'Patching {}' .format (type (entity ).__name__ ))
167137 logging .debug (f'Received response: { str (response .status_code )} ' )
168138
169139 def update (self , entity ):
@@ -176,22 +146,7 @@ def update(self, entity):
176146 try :
177147 response = self .service .execute ('put' , url , json = json_dict )
178148 except requests .exceptions .HTTPError as e :
179- # Handle non-JSON error responses gracefully
180- try :
181- err = e .response .json ()
182- if isinstance (err , dict ):
183- error_message = err .get ('message' , err .get ('error' , str (err )))
184- else :
185- error_message = str (err )
186- except Exception :
187- try :
188- error_message = getattr (e .response , 'text' , str (e ))
189- except Exception :
190- error_message = str (e )
191- logging .error ("Updating {} failed with status-code {}, {}" .format (type (entity ).__name__ ,
192- getattr (e .response , 'status_code' , 'unknown' ),
193- error_message ))
194- raise e
149+ frost_sta_client .utils .handle_server_error (e , 'Updating {}' .format (type (entity ).__name__ ))
195150 logging .debug ('Received response: {}' .format (str (response .status_code )))
196151
197152 def find (self , id ):
@@ -201,22 +156,7 @@ def find(self, id):
201156 try :
202157 response = self .service .execute ('get' , url )
203158 except requests .exceptions .HTTPError as e :
204- # Handle non-JSON error responses gracefully
205- try :
206- err = e .response .json ()
207- if isinstance (err , dict ):
208- error_message = err .get ('message' , err .get ('error' , str (err )))
209- else :
210- error_message = str (err )
211- except Exception :
212- try :
213- error_message = getattr (e .response , 'text' , str (e ))
214- except Exception :
215- error_message = str (e )
216- logging .error ("Finding {} failed with status-code {}, {}" .format (id ,
217- getattr (e .response , 'status_code' , 'unknown' ),
218- error_message ))
219- raise e
159+ frost_sta_client .utils .handle_server_error (e , 'Finding {}' .format (id ))
220160 logging .debug ('Received response: {}' .format (response .status_code ))
221161 json_response = response .json ()
222162 json_response ['id' ] = json_response ['@iot.id' ]
@@ -231,22 +171,7 @@ def delete(self, entity):
231171 try :
232172 response = self .service .execute ('delete' , url )
233173 except requests .exceptions .HTTPError as e :
234- # Handle non-JSON error responses gracefully
235- try :
236- err = e .response .json ()
237- if isinstance (err , dict ):
238- error_message = err .get ('message' , err .get ('error' , str (err )))
239- else :
240- error_message = str (err )
241- except Exception :
242- try :
243- error_message = getattr (e .response , 'text' , str (e ))
244- except Exception :
245- error_message = str (e )
246- logging .error ("Deleting {} failed with status-code {}, {}" .format (type (entity ).__name__ ,
247- getattr (e .response , 'status_code' , 'unknown' ),
248- error_message ))
249- raise e
174+ frost_sta_client .utils .handle_server_error (e , 'Deleting {}' .format (type (entity ).__name__ ))
250175 logging .debug ('Received response: {}' .format (response .status_code ))
251176
252177 def entity_path (self , id ):
0 commit comments