# File lib/puppet/indirector/rest.rb, line 35
35:     def deserialize(response, multiple = false)
36:         case response.code
37:         when "404"
38:             return nil
39:         when /^2/
40:             unless response['content-type']
41:                 raise "No content type in http response; cannot parse"
42:             end
43: 
44:             content_type = response['content-type'].gsub(/\s*;.*$/,'') # strip any appended charset
45: 
46:             # Convert the response to a deserialized object.
47:             if multiple
48:                 model.convert_from_multiple(content_type, response.body)
49:             else
50:                 model.convert_from(content_type, response.body)
51:             end
52:         else
53:             # Raise the http error if we didn't get a 'success' of some kind.
54:             message = "Error %s on SERVER: %s" % [response.code, (response.body||'').empty? ? response.message : response.body]
55:             raise Net::HTTPError.new(message, response)
56:         end
57:     end