From 2f5b205916c3204e6e4908e371b29718b7e9e730 Mon Sep 17 00:00:00 2001 From: Eugen Rochko Date: Thu, 6 Oct 2016 14:39:34 +0200 Subject: Catch Paperclip errors on /api/v1/media, return early from update profile service if XML given is nil --- app/controllers/api/v1/media_controller.rb | 4 ++++ app/services/update_remote_profile_service.rb | 2 ++ 2 files changed, 6 insertions(+) diff --git a/app/controllers/api/v1/media_controller.rb b/app/controllers/api/v1/media_controller.rb index 4896534ad..7efe38bd8 100644 --- a/app/controllers/api/v1/media_controller.rb +++ b/app/controllers/api/v1/media_controller.rb @@ -4,5 +4,9 @@ class Api::V1::MediaController < ApiController def create @media = MediaAttachment.create!(account: current_user.account, file: params[:file]) + rescue Paperclip::Errors::NotIdentifiedByImageMagickError + render json: { error: 'File type of uploaded media could not be verified' }, status: 422 + rescue Paperclip::Error + render json: { error: 'Error processing thumbnail for uploaded media' }, status: 500 end end diff --git a/app/services/update_remote_profile_service.rb b/app/services/update_remote_profile_service.rb index 5f1d3caeb..595fa4244 100644 --- a/app/services/update_remote_profile_service.rb +++ b/app/services/update_remote_profile_service.rb @@ -1,5 +1,7 @@ class UpdateRemoteProfileService < BaseService def call(author_xml, account) + return if author_xml.nil? + if author_xml.at_xpath('./poco:displayName').nil? account.display_name = account.username else -- cgit