diff options
Diffstat (limited to 'lib/chef_zero/endpoints/organizations_endpoint.rb')
-rw-r--r-- | lib/chef_zero/endpoints/organizations_endpoint.rb | 10 |
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 |