]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/api/map_controller.rb
API JSON output
[rails.git] / app / controllers / api / map_controller.rb
index b0998f7ebaa9aa6ae49f8aa125f0583f5353049e..34257fc991308736056b47fca30691a28b02768b 100644 (file)
@@ -5,6 +5,13 @@ module Api
     before_action :check_api_readable
     around_action :api_call_handle_error, :api_call_timeout
 
+    before_action :default_format_xml
+
+    # Set format to xml unless client requires a specific format
+    def default_format_xml
+      request.format = "xml" unless params[:format]
+    end
+
     # 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
@@ -90,7 +97,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