From 2ce394118da72186ed0ca4594c1833c3579bb2a6 Mon Sep 17 00:00:00 2001 From: Tom Hughes Date: Tue, 24 Aug 2010 21:21:02 +0100 Subject: [PATCH] Allow uncompressed GPX traces to be fetched from the API --- app/controllers/trace_controller.rb | 6 +++++- config/routes.rb | 1 + 2 files changed, 6 insertions(+), 1 deletion(-) 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 -- 2.43.2