diff options
author | Eugen Rochko <eugen@zeonfederated.com> | 2016-10-06 14:39:34 +0200 |
---|---|---|
committer | Eugen Rochko <eugen@zeonfederated.com> | 2016-10-06 14:40:15 +0200 |
commit | 2f5b205916c3204e6e4908e371b29718b7e9e730 (patch) | |
tree | e8252c6fb3194ceb243e9b314fb6fc6e093bb4a0 /app | |
parent | cdad5d322d0efb81af6efb2afe1393b9d7a47033 (diff) |
Catch Paperclip errors on /api/v1/media, return early from update profile service if XML given is nil
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/api/v1/media_controller.rb | 4 | ||||
-rw-r--r-- | app/services/update_remote_profile_service.rb | 2 |
2 files changed, 6 insertions, 0 deletions
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 |