summaryrefslogtreecommitdiff
path: root/lib/chef_zero/endpoints/environment_cookbook_versions_endpoint.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chef_zero/endpoints/environment_cookbook_versions_endpoint.rb')
-rw-r--r--lib/chef_zero/endpoints/environment_cookbook_versions_endpoint.rb10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/chef_zero/endpoints/environment_cookbook_versions_endpoint.rb b/lib/chef_zero/endpoints/environment_cookbook_versions_endpoint.rb
index ae4a85a..b11687b 100644
--- a/lib/chef_zero/endpoints/environment_cookbook_versions_endpoint.rb
+++ b/lib/chef_zero/endpoints/environment_cookbook_versions_endpoint.rb
@@ -1,4 +1,4 @@
-require 'json'
+require 'ffi_yajl'
require 'chef_zero/rest_base'
require 'chef_zero/rest_error_response'
@@ -12,7 +12,7 @@ module ChefZero
# Get the list of cookbooks and versions desired by the runlist
desired_versions = {}
- run_list = JSON.parse(request.body, :create_additions => false)['run_list']
+ run_list = FFI_Yajl::Parser.parse(request.body, :create_additions => false)['run_list']
run_list.each do |run_list_entry|
if run_list_entry =~ /(.+)::.+\@(.+)/ || run_list_entry =~ /(.+)\@(.+)/
raise RestErrorResponse.new(412, "No such cookbook: #{$1}") if !cookbook_names.include?($1)
@@ -26,7 +26,7 @@ module ChefZero
end
# Filter by environment constraints
- environment = JSON.parse(get_data(request, request.rest_path[0..3]), :create_additions => false)
+ environment = FFI_Yajl::Parser.parse(get_data(request, request.rest_path[0..3]), :create_additions => false)
environment_constraints = environment['cookbook_versions'] || {}
desired_versions.each_key do |name|
@@ -48,7 +48,7 @@ module ChefZero
result = {}
solved.each_pair do |name, versions|
- cookbook = JSON.parse(get_data(request, request.rest_path[0..1] + ['cookbooks', name, versions[0]]), :create_additions => false)
+ cookbook = FFI_Yajl::Parser.parse(get_data(request, request.rest_path[0..1] + ['cookbooks', name, versions[0]]), :create_additions => false)
result[name] = ChefData::DataNormalizer.normalize_cookbook(self, request.rest_path[0..1], cookbook, name, versions[0], request.base_uri, 'MIN')
end
json_response(200, result)
@@ -74,7 +74,7 @@ module ChefZero
new_unsolved = unsolved[1..-1]
# Pick this cookbook, and add dependencies
- cookbook_obj = JSON.parse(get_data(request, request.rest_path[0..1] + ['cookbooks', solve_for, desired_version]), :create_additions => false)
+ cookbook_obj = FFI_Yajl::Parser.parse(get_data(request, request.rest_path[0..1] + ['cookbooks', solve_for, desired_version]), :create_additions => false)
cookbook_metadata = cookbook_obj['metadata'] || {}
cookbook_dependencies = cookbook_metadata['dependencies'] || {}
dep_not_found = false