diff --git a/lib/passwordstate.rb b/lib/passwordstate.rb index b0ce6d91b64b0a4499eba79e93a7eb514afbbc2c..49a57d10e6f7472a8b84798788ce5c32c01a3e32 100644 --- a/lib/passwordstate.rb +++ b/lib/passwordstate.rb @@ -1,10 +1,10 @@ require 'logging' +require 'passwordstate/version' require 'passwordstate/client' require 'passwordstate/errors' require 'passwordstate/resource' require 'passwordstate/resource_list' require 'passwordstate/util' -require 'passwordstate/version' module Passwordstate def self.debug! diff --git a/lib/passwordstate/client.rb b/lib/passwordstate/client.rb index 9444ecf505c24f77d72d3563a9b19cc32571669f..c95f665dbd76edb571373fe540fc9a4d0da8f55f 100644 --- a/lib/passwordstate/client.rb +++ b/lib/passwordstate/client.rb @@ -108,10 +108,11 @@ module Passwordstate if data return data if res_obj.is_a? Net::HTTPSuccess - data = data&.first - data = data.fetch('errors', []) if data.is_a? Hash + parsed = data&.first + parsed = data.fetch('errors', []) if data.is_a?(Hash) && data.key?('errors') + parsed = [data] - raise Passwordstate::HTTPError.new_by_code(res_obj.code, req_obj, res_obj, data || []) + raise Passwordstate::HTTPError.new_by_code(res_obj.code, req_obj, res_obj, parsed || []) else return res_obj.body if res_obj.is_a?(Net::HTTPSuccess) && options.fetch(:allow_html, true)