summaryrefslogtreecommitdiff
path: root/lib/chef_zero/endpoints/organizations_endpoint.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chef_zero/endpoints/organizations_endpoint.rb')
-rw-r--r--lib/chef_zero/endpoints/organizations_endpoint.rb10
1 files changed, 5 insertions, 5 deletions
diff --git a/lib/chef_zero/endpoints/organizations_endpoint.rb b/lib/chef_zero/endpoints/organizations_endpoint.rb
index 3a34fe4..88816e8 100644
--- a/lib/chef_zero/endpoints/organizations_endpoint.rb
+++ b/lib/chef_zero/endpoints/organizations_endpoint.rb
@@ -1,4 +1,4 @@
-require 'json'
+require 'ffi_yajl'
require 'chef_zero/rest_base'
require 'uuidtools'
@@ -15,7 +15,7 @@ module ChefZero
end
def post(request)
- contents = JSON.parse(request.body, :create_additions => false)
+ contents = FFI_Yajl::Parser.parse(request.body, :create_additions => false)
name = contents['name']
if name.nil?
error(400, "Must specify 'name' in JSON")
@@ -29,17 +29,17 @@ module ChefZero
"assigned_at" => Time.now.to_s
}.merge(contents)
org_path = request.rest_path + [ name ]
- set_data(request, org_path + [ 'org' ], JSON.pretty_generate(org))
+ set_data(request, org_path + [ 'org' ], FFI_Yajl::Encoder.encode(org, :pretty => true))
if server.generate_real_keys?
# Create the validator client
validator_name = "#{name}-validator"
validator_path = org_path + [ 'clients', validator_name ]
private_key, public_key = server.gen_key_pair
- validator = JSON.pretty_generate({
+ validator = FFI_Yajl::Encoder.encode({
'validator' => true,
'public_key' => public_key
- })
+ }, :pretty => true)
set_data(request, validator_path, validator)
end