]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/api/map_controller.rb
Merge remote-tracking branch 'upstream/pull/5405'
[rails.git] / app / controllers / api / map_controller.rb
index b0998f7ebaa9aa6ae49f8aa125f0583f5353049e..da8138597ae7b269fbb983a7eda8a4347c8a9ae7 100644 (file)
@@ -2,8 +2,7 @@ module Api
   class MapController < ApiController
     authorize_resource :class => false
 
   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
 
     # 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
@@ -19,6 +18,8 @@ module Api
       # check boundary is sane and area within defined
       # see /config/application.yml
       begin
       # 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
         @bounds = BoundingBox.from_bbox_params(params)
         @bounds.check_boundaries
         @bounds.check_size
@@ -90,7 +91,10 @@ module Api
 
       response.headers["Content-Disposition"] = "attachment; filename=\"map.osm\""
       # Render the result
 
       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
     end
   end
 end