X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/a41f1b297b68abd3a88185044b13113329367d79..5b0024e61abe15543740bdc4b58c673d62a394d2:/app/controllers/api_controller.rb diff --git a/app/controllers/api_controller.rb b/app/controllers/api_controller.rb index 370b3f746..318719219 100644 --- a/app/controllers/api_controller.rb +++ b/app/controllers/api_controller.rb @@ -3,6 +3,7 @@ class ApiController < ApplicationController session :off before_filter :check_api_readable, :except => [:capabilities] after_filter :compress_output + around_filter :api_call_handle_error, :api_call_timeout # Help methods for checking boundary sanity and area size include MapBoundary @@ -182,7 +183,7 @@ class ApiController < ApplicationController # this "uniq" may be slightly inefficient; it may be better to first collect and output # all node-related relations, then find the *not yet covered* way-related ones etc. relations.uniq.each do |relation| - doc.root << relation.to_xml_node(changeset_cache, user_display_name_cache) + doc.root << relation.to_xml_node(nil, changeset_cache, user_display_name_cache) end response.headers["Content-Disposition"] = "attachment; filename=\"map.osm\"" @@ -262,6 +263,9 @@ class ApiController < ApplicationController changesets = XML::Node.new 'changesets' changesets['maximum_elements'] = Changeset::MAX_ELEMENTS.to_s api << changesets + timeout = XML::Node.new 'timeout' + timeout['seconds'] = APP_CONFIG['api_timeout'].to_s + api << timeout doc.root << api