after_filter :compress_output
def create
- if request.put?
- relation = Relation.from_xml(request.raw_post, true)
-
- if relation
- if !relation.preconditions_ok?
- render :text => "", :status => :precondition_failed
- else
- relation.version = 0
- #relation.user_id = @user.id
- relation.save_with_history!
+ begin
+ if request.put?
+ relation = Relation.from_xml(request.raw_post, true)
+ if relation
+ relation.create_with_history @user
render :text => relation.id.to_s, :content_type => "text/plain"
+ else
+ render :nothing => true, :status => :bad_request
end
else
- render :nothing => true, :status => :bad_request
+ render :nothing => true, :status => :method_not_allowed
end
- else
- render :nothing => true, :status => :method_not_allowed
+ rescue OSM::APIError => ex
+ render ex.render_opts
end
end