summaryrefslogtreecommitdiff
path: root/lib/chef_zero/endpoints/actor_default_key_endpoint.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/chef_zero/endpoints/actor_default_key_endpoint.rb')
-rw-r--r--lib/chef_zero/endpoints/actor_default_key_endpoint.rb7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/chef_zero/endpoints/actor_default_key_endpoint.rb b/lib/chef_zero/endpoints/actor_default_key_endpoint.rb
index f63ffb9..3be1475 100644
--- a/lib/chef_zero/endpoints/actor_default_key_endpoint.rb
+++ b/lib/chef_zero/endpoints/actor_default_key_endpoint.rb
@@ -21,6 +21,13 @@ module ChefZero
def get(request)
# 404 if actor doesn't exist
actor_data = get_actor_data(request)
+ key_data = default_public_key_from_actor(actor_data)
+
+ # 404 if the actor doesn't have a default key
+ if key_data["public_key"].nil?
+ raise RestErrorResponse.new(404, "Object not found: #{build_uri(request.base_uri, request.rest_path)}")
+ end
+
json_response(200, default_public_key_from_actor(actor_data))
end