X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/2b7a40069f7af2e72c81f9488411135f286515f9..1ceb4ab9ba10d97333414bf66ae2c9d553668903:/app/controllers/old_relation_controller.rb diff --git a/app/controllers/old_relation_controller.rb b/app/controllers/old_relation_controller.rb index 9307ee1ce..65de83278 100644 --- a/app/controllers/old_relation_controller.rb +++ b/app/controllers/old_relation_controller.rb @@ -2,7 +2,7 @@ class OldRelationController < ApplicationController require 'xml/libxml' session :off - before_filter :check_read_availability + before_filter :check_api_readable after_filter :compress_output def history @@ -25,15 +25,20 @@ class OldRelationController < ApplicationController def version begin old_relation = OldRelation.find(:first, :conditions => {:id => params[:id], :version => params[:version]} ) + if old_relation.nil? + # (RecordNotFound is not raised with find :first...) + render :nothing => true, :status => :not_found + return + end + + response.headers['Last-Modified'] = old_relation.timestamp.rfc822 doc = OSM::API.new.get_xml_doc doc.root << old_relation.to_xml_node render :text => doc.to_s, :content_type => "text/xml" - rescue ActiveRecord::RecordNotFound - render :nothing => true, :status => :not_found rescue - render :nothing => true, :status => :internetal_service_error + render :nothing => true, :status => :internal_server_error end end end