summaryrefslogtreecommitdiff
path: root/lib/chef_zero/endpoints/actors_endpoint.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chef_zero/endpoints/actors_endpoint.rb')
-rw-r--r--lib/chef_zero/endpoints/actors_endpoint.rb20
1 files changed, 10 insertions, 10 deletions
diff --git a/lib/chef_zero/endpoints/actors_endpoint.rb b/lib/chef_zero/endpoints/actors_endpoint.rb
index 90a53d8..c6c676f 100644
--- a/lib/chef_zero/endpoints/actors_endpoint.rb
+++ b/lib/chef_zero/endpoints/actors_endpoint.rb
@@ -1,4 +1,4 @@
-require 'json'
+require 'ffi_yajl'
require 'chef_zero/endpoints/rest_list_endpoint'
module ChefZero
@@ -9,29 +9,29 @@ module ChefZero
response = super(request)
if request.query_params['email']
- results = JSON.parse(response[2], :create_additions => false)
+ results = FFI_Yajl::Parser.parse(response[2], :create_additions => false)
new_results = {}
results.each do |name, url|
record = get_data(request, request.rest_path + [ name ], :nil)
if record
- record = JSON.parse(record, :create_additions => false)
+ record = FFI_Yajl::Parser.parse(record, :create_additions => false)
new_results[name] = url if record['email'] == request.query_params['email']
end
end
- response[2] = JSON.pretty_generate(new_results)
+ response[2] = FFI_Yajl::Encoder.encode(new_results, :pretty => true)
end
if request.query_params['verbose']
- results = JSON.parse(response[2], :create_additions => false)
+ results = FFI_Yajl::Parser.parse(response[2], :create_additions => false)
results.each do |name, url|
record = get_data(request, request.rest_path + [ name ], :nil)
if record
- record = JSON.parse(record, :create_additions => false)
+ record = FFI_Yajl::Parser.parse(record, :create_additions => false)
record = ChefData::DataNormalizer.normalize_user(record, name, identity_keys, server.options[:osc_compat])
results[name] = record
end
end
- response[2] = JSON.pretty_generate(results)
+ response[2] = FFI_Yajl::Encoder.encode(results, :pretty => true)
end
response
end
@@ -39,19 +39,19 @@ module ChefZero
def post(request)
# First, find out if the user actually posted a public key. If not, make
# one.
- request_body = JSON.parse(request.body, :create_additions => false)
+ request_body = FFI_Yajl::Parser.parse(request.body, :create_additions => false)
public_key = request_body['public_key']
if !public_key
private_key, public_key = server.gen_key_pair
request_body['public_key'] = public_key
- request.body = JSON.pretty_generate(request_body)
+ request.body = FFI_Yajl::Encoder.encode(request_body, :pretty => true)
end
result = super(request)
if result[0] == 201
# If we generated a key, stuff it in the response.
- response = JSON.parse(result[2], :create_additions => false)
+ response = FFI_Yajl::Parser.parse(result[2], :create_additions => false)
response['private_key'] = private_key if private_key
response['public_key'] = public_key unless request.rest_path[0] == 'users'
json_response(201, response)