class ChefZero::Endpoints::PrincipalEndpoint

/principals/NAME

Public Instance Methods

get(request) click to toggle source
# File lib/chef_zero/endpoints/principal_endpoint.rb, line 9
def get(request)
  name = request.rest_path[-1]
  json = get_data(request, request.rest_path[0..1] + [ 'users', name ], :nil)
  if json
    type = 'user'
  else
    json = get_data(request, request.rest_path[0..1] + [ 'clients', name ], :nil)
    type = 'client'
  end
  if json
    json_response(200, {
      'name' => name,
      'type' => type,
      'public_key' => JSON.parse(json)['public_key'] || PUBLIC_KEY
    })
  else
    error(404, 'Principal not found')
  end
end