]> cat aescling's git repositories - mastodon.git/commitdiff
Catch Paperclip errors on /api/v1/media, return early from update profile service...
authorEugen Rochko <eugen@zeonfederated.com>
Thu, 6 Oct 2016 12:39:34 +0000 (14:39 +0200)
committerEugen Rochko <eugen@zeonfederated.com>
Thu, 6 Oct 2016 12:40:15 +0000 (14:40 +0200)
app/controllers/api/v1/media_controller.rb
app/services/update_remote_profile_service.rb

index 4896534ad8ce3006e31f423872523bae93b64e11..7efe38bd84c926750846e38fac9673b9f0dbfcc7 100644 (file)
@@ -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
index 5f1d3caebf787e79e2d427bbf1a3fe8ff02aae5b..595fa42449aa051292f39fca562b409c5a3674b0 100644 (file)
@@ -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