From: Tom Hughes Date: Tue, 24 Aug 2010 20:21:02 +0000 (+0100) Subject: Allow uncompressed GPX traces to be fetched from the API X-Git-Tag: live~6325^2~6 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/2ce394118da72186ed0ca4594c1833c3579bb2a6?ds=sidebyside Allow uncompressed GPX traces to be fetched from the API --- diff --git a/app/controllers/trace_controller.rb b/app/controllers/trace_controller.rb index 60b6502e2..1a75ac4cc 100644 --- a/app/controllers/trace_controller.rb +++ b/app/controllers/trace_controller.rb @@ -292,7 +292,11 @@ class TraceController < ApplicationController trace = Trace.find(params[:id]) if trace.public? or trace.user == @user - send_file(trace.trace_name, :filename => "#{trace.id}#{trace.extension_name}", :type => trace.mime_type, :disposition => 'attachment') + if request.format == Mime::XML + send_file(trace.xml_file, :filename => "#{trace.id}.xml", :type => Mime::XML.to_s, :disposition => 'attachment') + else + send_file(trace.trace_name, :filename => "#{trace.id}#{trace.extension_name}", :type => trace.mime_type, :disposition => 'attachment') + end else render :nothing => true, :status => :forbidden end diff --git a/config/routes.rb b/config/routes.rb index 52ec42a07..e2018784d 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -64,6 +64,7 @@ ActionController::Routing::Routes.draw do |map| map.connect "api/#{API_VERSION}/gpx/create", :controller => 'trace', :action => 'api_create' map.connect "api/#{API_VERSION}/gpx/:id/details", :controller => 'trace', :action => 'api_details' map.connect "api/#{API_VERSION}/gpx/:id/data", :controller => 'trace', :action => 'api_data' + map.connect "api/#{API_VERSION}/gpx/:id/data.:format", :controller => 'trace', :action => 'api_data' # AMF (ActionScript) API