diff options
Diffstat (limited to 'lib/chef_zero/endpoints/system_recovery_endpoint.rb')
-rw-r--r-- | lib/chef_zero/endpoints/system_recovery_endpoint.rb | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/chef_zero/endpoints/system_recovery_endpoint.rb b/lib/chef_zero/endpoints/system_recovery_endpoint.rb index a3c62fa..be438f8 100644 --- a/lib/chef_zero/endpoints/system_recovery_endpoint.rb +++ b/lib/chef_zero/endpoints/system_recovery_endpoint.rb @@ -1,4 +1,4 @@ -require 'json' +require 'ffi_yajl' require 'chef_zero/rest_base' module ChefZero @@ -6,7 +6,7 @@ module ChefZero # /system_recovery class SystemRecoveryEndpoint < RestBase def post(request) - request_json = JSON.parse(request.body, :create_additions => false) + request_json = FFI_Yajl::Parser.parse(request.body, :create_additions => false) name = request_json['username'] password = request_json['password'] user = get_data(request, request.rest_path[0..-2] + ['users', name], :nil) @@ -14,7 +14,7 @@ module ChefZero raise RestErrorResponse.new(403, "Nonexistent user") end - user = JSON.parse(user, :create_additions => false) + user = FFI_Yajl::Parser.parse(user, :create_additions => false) user = ChefData::DataNormalizer.normalize_user(user, name, [ 'username' ], server.options[:osc_compat]) if !user['recovery_authentication_enabled'] raise RestErrorResponse.new(403, "Only users with recovery_authentication_enabled=true may use /system_recovery to log in") |