From: Tom Hughes Date: Tue, 21 Aug 2007 23:27:42 +0000 (+0000) Subject: Add a capabilities API call. Fixes #410. X-Git-Tag: live~8177 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/dc3edbe7c19c546895a9ba17cf29282802952a0d Add a capabilities API call. Fixes #410. --- diff --git a/app/controllers/api_controller.rb b/app/controllers/api_controller.rb index 39706edf0..7e8017f4e 100644 --- a/app/controllers/api_controller.rb +++ b/app/controllers/api_controller.rb @@ -244,6 +244,22 @@ class ApiController < ApplicationController exit! end + end + + def capabilities + doc = OSM::API.new.get_xml_doc + api = XML::Node.new 'api' + version = XML::Node.new 'version' + version['minimum'] = '0.4'; + version['maximum'] = '0.4'; + api << version + area = XML::Node.new 'area' + area['maximum'] = MAX_REQUEST_AREA.to_s; + api << area + + doc.root << api + + render :text => doc.to_s, :content_type => "text/xml" end end diff --git a/config/routes.rb b/config/routes.rb index 482c5c6cb..97d450068 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -25,6 +25,8 @@ ActionController::Routing::Routes.draw do |map| map.connect "api/#{API_VERSION}/way/:id", :controller => 'way', :action => 'delete', :id => /\d+/, :conditions => { :method => :delete } map.connect "api/#{API_VERSION}/ways", :controller => 'way', :action => 'ways', :id => nil + map.connect "api/#{API_VERSION}/capabilities", :controller => 'api', :action => 'capabilities' + map.connect "api/#{API_VERSION}/map", :controller => 'api', :action => 'map' map.connect "api/#{API_VERSION}/trackpoints", :controller => 'api', :action => 'trackpoints'