summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Brown <anbrown@blackberry.com>2015-08-14 10:47:46 -0400
committerAndrew Brown <anbrown@blackberry.com>2015-08-14 12:36:58 -0400
commitacc44f8836fc5a762a7c6b685c16cd2892ba1456 (patch)
tree670609dd31accfd5e4ffedce943aa5d166f826dc
parentf34c2686d2a4b7fe83f1449cc1c5cc38ac4b8a04 (diff)
downloadchef-zero-acc44f8836fc5a762a7c6b685c16cd2892ba1456.tar.gz
Use new json_response API for /server_api_version
We should be using the new API for json_response, since this is a new endpoint.
-rw-r--r--lib/chef_zero/endpoints/server_api_version_endpoint.rb4
-rw-r--r--lib/chef_zero/rest_base.rb8
-rw-r--r--lib/chef_zero/rest_request.rb2
3 files changed, 8 insertions, 6 deletions
diff --git a/lib/chef_zero/endpoints/server_api_version_endpoint.rb b/lib/chef_zero/endpoints/server_api_version_endpoint.rb
index a4bb35f..631f105 100644
--- a/lib/chef_zero/endpoints/server_api_version_endpoint.rb
+++ b/lib/chef_zero/endpoints/server_api_version_endpoint.rb
@@ -4,8 +4,10 @@ module ChefZero
module Endpoints
# /server_api_version
class ServerAPIVersionEndpoint < RestBase
+ API_VERSION = 1
def get(request)
- json_response(200, {"min_api_version"=>MIN_API_VERSION, "max_api_version"=>MAX_API_VERSION})
+ json_response(200, {"min_api_version"=>MIN_API_VERSION, "max_api_version"=>MAX_API_VERSION},
+ request.api_version, API_VERSION)
end
end
end
diff --git a/lib/chef_zero/rest_base.rb b/lib/chef_zero/rest_base.rb
index 3036903..715d705 100644
--- a/lib/chef_zero/rest_base.rb
+++ b/lib/chef_zero/rest_base.rb
@@ -19,7 +19,7 @@ module ChefZero
version = request.api_version
return nil if version.nil? # Not present in headers
- if version.to_i.to_s != version # Version is not an Integer
+ if version.to_i.to_s != version.to_s # Version is not an Integer
return json_response(406, { "username" => request.requestor }, -1, -1)
elsif version.to_i > MAX_API_VERSION or version.to_i < MIN_API_VERSION
response = {
@@ -208,9 +208,9 @@ module ChefZero
end
def already_json_response(response_code, json_text, request_version=0, response_version=0)
- header = { "min_version" => MIN_API_VERSION, "max_version" => MAX_API_VERSION,
- "request_version" => request_version,
- "response_version" => response_version }
+ header = { "min_version" => MIN_API_VERSION.to_s, "max_version" => MAX_API_VERSION.to_s,
+ "request_version" => request_version.to_s,
+ "response_version" => response_version.to_s }
[ response_code,
{ "Content-Type" => "application/json",
"X-Ops-Server-API-Version" => FFI_Yajl::Encoder.encode(header) },
diff --git a/lib/chef_zero/rest_request.rb b/lib/chef_zero/rest_request.rb
index ea96110..6b37c18 100644
--- a/lib/chef_zero/rest_request.rb
+++ b/lib/chef_zero/rest_request.rb
@@ -19,7 +19,7 @@ module ChefZero
end
def api_version
- @env['HTTP_X_OPS_SERVER_API_VERSION']
+ @env['HTTP_X_OPS_SERVER_API_VERSION'] || 0
end
def requestor