]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/api/map_controller.rb
Respond to timeouts with a server error code
[rails.git] / app / controllers / api / map_controller.rb
index b0998f7ebaa9aa6ae49f8aa125f0583f5353049e..6d4a9feb6c3d8062cf141fb375eca35a42da018e 100644 (file)
@@ -2,9 +2,10 @@ module Api
   class MapController < ApiController
     authorize_resource :class => false
 
-    before_action :check_api_readable
     around_action :api_call_handle_error, :api_call_timeout
 
+    before_action :set_request_formats
+
     # This is probably the most common call of all. It is used for getting the
     # OSM data for a specified bounding box, usually for editing. First the
     # bounding box (bbox) is checked to make sure that it is sane. All nodes
@@ -19,6 +20,8 @@ module Api
       # check boundary is sane and area within defined
       # see /config/application.yml
       begin
+        raise OSM::APIBadUserInput, "The parameter bbox is required" unless params[:bbox]
+
         @bounds = BoundingBox.from_bbox_params(params)
         @bounds.check_boundaries
         @bounds.check_size
@@ -90,7 +93,10 @@ module Api
 
       response.headers["Content-Disposition"] = "attachment; filename=\"map.osm\""
       # Render the result
-      render :formats => [:xml]
+      respond_to do |format|
+        format.xml
+        format.json
+      end
     end
   end
 end