summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordanielsdeleo <dan@chef.io>2016-02-25 12:52:30 -0800
committerdanielsdeleo <dan@chef.io>2016-02-25 12:52:30 -0800
commit2b255fd27211274cc48cf0b865e33eae9ee49b83 (patch)
tree6d84f696cf98e80616e451ad5e7696c58295869c
parentc858f736c2a33a8bd061564cb784c4947d015824 (diff)
downloadchef-zero-api-v1.tar.gz
Use json helpers instead of calling FFI_Yajl directlyapi-v1
-rw-r--r--lib/chef_zero/endpoints/actor_endpoint.rb6
-rw-r--r--lib/chef_zero/endpoints/actors_endpoint.rb20
2 files changed, 13 insertions, 13 deletions
diff --git a/lib/chef_zero/endpoints/actor_endpoint.rb b/lib/chef_zero/endpoints/actor_endpoint.rb
index 500f2bb..28d8131 100644
--- a/lib/chef_zero/endpoints/actor_endpoint.rb
+++ b/lib/chef_zero/endpoints/actor_endpoint.rb
@@ -11,7 +11,7 @@ module ChefZero
def get(request)
result = super
- user_data = FFI_Yajl::Parser.parse(result[2], :create_additions => false)
+ user_data = parse_json(result[2])
user_data.delete("public_key") unless request.api_v0?
@@ -58,7 +58,7 @@ module ChefZero
end
# Put modified body back in `request.body`
- request.body = FFI_Yajl::Encoder.encode(request_body, :pretty => true) if body_modified
+ request.body = to_json(request_body) if body_modified
# PUT /clients is patchy
request.body = patch_request_body(request)
@@ -78,7 +78,7 @@ module ChefZero
'uri' => build_uri(request.base_uri, [ 'users', client_or_user_name ])
}
else
- response = FFI_Yajl::Parser.parse(result[2], :create_additions => false)
+ response = parse_json(result[2])
end
if client?(request)
diff --git a/lib/chef_zero/endpoints/actors_endpoint.rb b/lib/chef_zero/endpoints/actors_endpoint.rb
index 4221e93..cc02246 100644
--- a/lib/chef_zero/endpoints/actors_endpoint.rb
+++ b/lib/chef_zero/endpoints/actors_endpoint.rb
@@ -9,29 +9,29 @@ module ChefZero
response = super(request)
if request.query_params['email']
- results = FFI_Yajl::Parser.parse(response[2], :create_additions => false)
+ results = parse_json(response[2])
new_results = {}
results.each do |name, url|
record = get_data(request, request.rest_path + [ name ], :nil)
if record
- record = FFI_Yajl::Parser.parse(record, :create_additions => false)
+ record = parse_json(record)
new_results[name] = url if record['email'] == request.query_params['email']
end
end
- response[2] = FFI_Yajl::Encoder.encode(new_results, :pretty => true)
+ response[2] = to_json(new_results)
end
if request.query_params['verbose']
- results = FFI_Yajl::Parser.parse(response[2], :create_additions => false)
+ results = parse_json(response[2])
results.each do |name, url|
record = get_data(request, request.rest_path + [ name ], :nil)
if record
- record = FFI_Yajl::Parser.parse(record, :create_additions => false)
+ record = parse_json(record)
record = ChefData::DataNormalizer.normalize_user(record, name, identity_keys, server.options[:osc_compat])
results[name] = record
end
end
- response[2] = FFI_Yajl::Encoder.encode(results, :pretty => true)
+ response[2] = to_json(results)
end
response
end
@@ -39,7 +39,7 @@ module ChefZero
def post(request)
# First, find out if the user actually posted a public key. If not, make
# one.
- request_body = FFI_Yajl::Parser.parse(request.body, :create_additions => false)
+ request_body = parse_json(request.body)
public_key = request_body['public_key']
skip_key_create = !request.api_v0? && !request_body["create_key"]
@@ -47,17 +47,17 @@ module ChefZero
if !public_key && !skip_key_create
private_key, public_key = server.gen_key_pair
request_body['public_key'] = public_key
- request.body = FFI_Yajl::Encoder.encode(request_body, :pretty => true)
+ request.body = to_json(request_body)
elsif skip_key_create
request_body['public_key'] = nil
- request.body = FFI_Yajl::Encoder.encode(request_body, :pretty => true)
+ request.body = to_json(request_body)
end
result = super(request)
if result[0] == 201
# If we generated a key, stuff it in the response.
- user_data = FFI_Yajl::Parser.parse(result[2], :create_additions => false)
+ user_data = parse_json(result[2])
key_data = {}
key_data['private_key'] = private_key if private_key