]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/api/map_controller.rb
Merge pull request #4535 from tomhughes/rails-tokens
[rails.git] / app / controllers / api / map_controller.rb
index 4790e2f60992bb08a9b3261c8c8ef66a0abbf7ff..5a05f6de2b527e6c236b665007ab8a5cd309b534 100644 (file)
@@ -1,10 +1,13 @@
 module Api
   class MapController < ApiController
+    before_action :check_api_readable
+
     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,11 +22,13 @@ 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
-      rescue StandardError => err
-        report_error(err.message)
+      rescue StandardError => e
+        report_error(e.message)
         return
       end
 
@@ -92,6 +97,7 @@ module Api
       # Render the result
       respond_to do |format|
         format.xml
+        format.json
       end
     end
   end