]> git.openstreetmap.org Git - rails.git/blobdiff - app/controllers/trace_controller.rb
Return GPX traces as application/gpx+xml instead of text/xml
[rails.git] / app / controllers / trace_controller.rb
index 0725957bf486ec0b48be40cc9a4e3f646d9a42ed..d54778c6e52018ac5cf1d1d172acd944b67f20fc 100644 (file)
@@ -151,8 +151,8 @@ class TraceController < ApplicationController
     if trace.visible? and (trace.public? or (@user and @user == trace.user))
       if Acl.no_trace_download(request.remote_ip)
         render :text => "", :status => :forbidden
-      elsif request.format == Mime::XML
-        send_file(trace.xml_file, :filename => "#{trace.id}.xml", :type => Mime::XML.to_s, :disposition => 'attachment')
+      elsif request.format == Mime::XML or request.format == Mime::GPX
+        send_file(trace.xml_file, :filename => "#{trace.id}.xml", :type => request.format.to_s, :disposition => 'attachment')
       else
         send_file(trace.trace_name, :filename => "#{trace.id}#{trace.extension_name}", :type => trace.mime_type, :disposition => 'attachment')
       end
@@ -308,8 +308,8 @@ class TraceController < ApplicationController
     trace = Trace.find(params[:id])
 
     if trace.public? or trace.user == @user
-      if request.format == Mime::XML
-        send_file(trace.xml_file, :filename => "#{trace.id}.xml", :type => Mime::XML.to_s, :disposition => 'attachment')
+      if request.format == Mime::XML or request.format == Mime::GPX
+        send_file(trace.xml_file, :filename => "#{trace.id}.xml", :type => request.format.to_s, :disposition => 'attachment')
       else
         send_file(trace.trace_name, :filename => "#{trace.id}#{trace.extension_name}", :type => trace.mime_type, :disposition => 'attachment')
       end