diff options
author | Thom May <thom@chef.io> | 2017-01-06 16:53:09 +0000 |
---|---|---|
committer | Thom May <thom@chef.io> | 2017-03-29 16:27:15 +0100 |
commit | c57862350cdd62a03e7be0b6752129b8fc533fc8 (patch) | |
tree | 370784a07e39c885437e82fe0638256991bea41d /lib/chef_zero/rest_base.rb | |
parent | f8fedad60de7978f008e720d4638e81f76b69085 (diff) | |
download | chef-zero-c57862350cdd62a03e7be0b6752129b8fc533fc8.tar.gz |
Remove cookbook segments
This implements RFC 67, Cookbook Segment Deprecation, for the default
backend of Chef Zero. It also does a little bit of work to make API
versions more ergonomic.
Signed-off-by: Thom May <thom@may.lt>
Diffstat (limited to 'lib/chef_zero/rest_base.rb')
-rw-r--r-- | lib/chef_zero/rest_base.rb | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/lib/chef_zero/rest_base.rb b/lib/chef_zero/rest_base.rb index 976fade..367ce70 100644 --- a/lib/chef_zero/rest_base.rb +++ b/lib/chef_zero/rest_base.rb @@ -19,15 +19,7 @@ module ChefZero end def check_api_version(request) - return if request.api_version.nil? # Not present in headers - version = request.api_version.to_i - - unless version.to_s == request.api_version.to_s # Version is not an Integer - return json_response(406, - { "username" => request.requestor }, - request_version: -1, response_version: -1 - ) - end + version = request.api_version if version > MAX_API_VERSION || version < MIN_API_VERSION response = { @@ -38,10 +30,15 @@ module ChefZero } return json_response(406, - response, - request_version: version, response_version: -1 - ) + response, + request_version: version, response_version: -1 + ) end + rescue ArgumentError + return json_response(406, + { "username" => request.requestor }, + request_version: -1, response_version: -1 + ) end def call(request) |