Method: Bandwidth::ApiClient#deserialize
- Defined in:
- lib/bandwidth-sdk/api_client.rb
#deserialize(response, return_type) ⇒ Object
Deserialize the response to the given return type.
265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 |
# File 'lib/bandwidth-sdk/api_client.rb', line 265 def deserialize(response, return_type) body = response.body return nil if body.nil? || body.empty? # return response body directly for String return type return body.to_s if return_type == 'String' # ensuring a default content type content_type = response.headers['Content-Type'] || 'application/json' fail "Content-Type is not supported: #{content_type}" unless json_mime?(content_type) begin data = JSON.parse("[#{body}]", :symbolize_names => true)[0] rescue JSON::ParserError => e if %w(String Date Time).include?(return_type) data = body else raise e end end convert_to_type data, return_type end |