X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/dbe165bbb3d6eda37d9579f1ac767599f9055607..51c5be98f7c10e077d22488434365a626da5a893:/app/controllers/api_controller.rb diff --git a/app/controllers/api_controller.rb b/app/controllers/api_controller.rb index 7bf8f0499..379bb7e86 100644 --- a/app/controllers/api_controller.rb +++ b/app/controllers/api_controller.rb @@ -2,7 +2,6 @@ class ApiController < ApplicationController skip_before_action :verify_authenticity_token before_action :check_api_readable, :except => [:capabilities] before_action :setup_user_auth, :only => [:permissions] - after_action :compress_output around_action :api_call_handle_error, :api_call_timeout # Get an XML response containing a list of tracepoints that have been uploaded @@ -126,17 +125,13 @@ class ApiController < ApplicationController return end - @nodes = Node.bbox(bbox).where(:visible => true).includes(:node_tags).limit(MAX_NUMBER_OF_NODES + 1) + nodes = Node.bbox(bbox).where(:visible => true).includes(:node_tags).limit(MAX_NUMBER_OF_NODES + 1) - node_ids = @nodes.collect(&:id) + node_ids = nodes.collect(&:id) if node_ids.length > MAX_NUMBER_OF_NODES report_error("You requested too many nodes (limit is #{MAX_NUMBER_OF_NODES}). Either request a smaller area, or use planet.osm") return end - if node_ids.length == 0 - render :text => "", :content_type => "text/xml" - return - end doc = OSM::API.new.get_xml_doc @@ -164,14 +159,14 @@ class ApiController < ApplicationController nodes_to_fetch = (list_of_way_nodes.uniq - node_ids) - [0] if nodes_to_fetch.length > 0 - @nodes += Node.includes(:node_tags).find(nodes_to_fetch) + nodes += Node.includes(:node_tags).find(nodes_to_fetch) end visible_nodes = {} changeset_cache = {} user_display_name_cache = {} - @nodes.each do |node| + nodes.each do |node| if node.visible? doc.root << node.to_xml_node(changeset_cache, user_display_name_cache) visible_nodes[node.id] = node