X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/a424b6282f1587eb02f2add29b85958a86fc79c1..dcad29dad0d29e22ffa0c34a8d9b43cbf5d64f12:/app/controllers/amf_controller.rb diff --git a/app/controllers/amf_controller.rb b/app/controllers/amf_controller.rb index 8e23a18cc..1049b51b6 100644 --- a/app/controllers/amf_controller.rb +++ b/app/controllers/amf_controller.rb @@ -34,11 +34,11 @@ class AmfController < ApplicationController args=getvalue(req) # | get response (probably an array) case message - when 'getpresets'; results[index]=putdata(index,getpresets) - when 'whichways'; results[index]=putdata(index,whichways(args)) - when 'getway'; results[index]=putdata(index,getway(args)) - when 'putway'; results[index]=putdata(index,putway(args)) - when 'deleteway'; results[index]=putdata(index,deleteway(args)) + when 'getpresets'; results[index]=putdata(index,getpresets) + when 'whichways'; results[index]=putdata(index,whichways(args)) + when 'getway'; results[index]=putdata(index,getway(args)) + when 'putway'; results[index]=putdata(index,putway(args)) + when 'deleteway'; results[index]=putdata(index,deleteway(args)) end end @@ -46,15 +46,14 @@ class AmfController < ApplicationController # Write out response RAILS_DEFAULT_LOGGER.info(" Response: start") - response.headers["Content-Type"]="application/x-amf" a,b=results.length.divmod(256) - ans=0.chr+0.chr+0.chr+0.chr+a.chr+b.chr - results.each do |k,v| - RAILS_DEFAULT_LOGGER.info(" Response: encode #{k}") - ans+=v - end + render :content_type => "application/x-amf", :text => proc { |response, output| + output.write 0.chr+0.chr+0.chr+0.chr+a.chr+b.chr + results.each do |k,v| + output.write(v) + end + } RAILS_DEFAULT_LOGGER.info(" Response: end") - render :text => ans end @@ -254,7 +253,7 @@ EOF ActiveRecord::Base.connection.execute("SET #{db_now}=NOW()") originalway=originalway.to_i - RAILS_DEFAULT_LOGGER.info(" Message: putway, id=#{way}") + RAILS_DEFAULT_LOGGER.info(" Message: putway, id=#{originalway}") # -- 3. read original way into memory