JSON: added clarification for non-supported Accept header formats

This commit is contained in:
mmd-osm 2020-01-22 17:38:28 +01:00
parent 03ca0b2c69
commit b556b054d1
2 changed files with 11 additions and 1 deletions

View file

@ -45,6 +45,10 @@ class ApiController < ApplicationController
request.format = "xml" request.format = "xml"
break break
end end
# In case the client requests some other format besides XML, JSON and */*,
# we deliberately don't set request.format. The framework will return an
# ActionController::UnknownFormat error to the client later on in this case.
end end
end end
end end

View file

@ -32,7 +32,7 @@ module Api
## ##
# test http accept headers # test http accept headers
def test_http_accept_header def test_http_accept_header
node = create(:node, :lat => 7, :lon => 7) node = create(:node)
minlon = node.lon - 0.1 minlon = node.lon - 0.1
minlat = node.lat - 0.1 minlat = node.lat - 0.1
@ -99,6 +99,12 @@ module Api
http_accept_format("text/json") http_accept_format("text/json")
get :index, :params => { :bbox => bbox } get :index, :params => { :bbox => bbox }
assert_response :internal_server_error, "text/json should fail" assert_response :internal_server_error, "text/json should fail"
# image/jpeg is a format which we don't support, ActionController::UnknownFormat error is expected
# HTTP 406 Not acceptable would be the correct response error code. That's outside of our control though.
http_accept_format("image/jpeg")
get :index, :params => { :bbox => bbox }
assert_response :internal_server_error, "text/json should fail"
end end
# ------------------------------------- # -------------------------------------