Catching more exceptions that slipped through, removing AR logging from

production as it's very verbose and not very useful
This commit is contained in:
Eugen Rochko 2016-10-05 13:26:44 +02:00
parent b078885414
commit fe77921e47
7 changed files with 29 additions and 6 deletions

View File

@ -18,6 +18,10 @@ class ApiController < ApplicationController
render json: { error: 'Remote data could not be fetched' }, status: 503 render json: { error: 'Remote data could not be fetched' }, status: 503
end end
rescue_from OpenSSL::SSL::SSLError do
render json: { error: 'Remote SSL certificate could not be verified' }, status: 503
end
protected protected
def current_resource_owner def current_resource_owner

View File

@ -30,6 +30,12 @@ class ApplicationController < ActionController::Base
end end
end end
def gone
respond_to do |format|
format.any { head 410 }
end
end
def current_account def current_account
current_user.try(:account) current_user.try(:account)
end end

View File

@ -8,13 +8,16 @@ class StreamEntriesController < ApplicationController
def show def show
@type = @stream_entry.activity_type.downcase @type = @stream_entry.activity_type.downcase
respond_to do |format|
format.html do
return gone if @stream_entry.activity.nil?
if @stream_entry.activity_type == 'Status' if @stream_entry.activity_type == 'Status'
@ancestors = @stream_entry.activity.ancestors @ancestors = @stream_entry.activity.ancestors
@descendants = @stream_entry.activity.descendants @descendants = @stream_entry.activity.descendants
end end
end
respond_to do |format|
format.html
format.atom format.atom
end end
end end

View File

@ -12,6 +12,9 @@ class FetchAtomService < BaseService
else else
return process_html(fetch(url)) return process_html(fetch(url))
end end
rescue OpenSSL::SSL::SSLError => e
Rails.logger.debug "SSL error: #{e}"
end end
private private

View File

@ -19,5 +19,7 @@ class FetchRemoteAccountService < BaseService
Rails.logger.debug "Going to webfinger #{username}@#{domain}" Rails.logger.debug "Going to webfinger #{username}@#{domain}"
return FollowRemoteAccountService.new.call("#{username}@#{domain}") return FollowRemoteAccountService.new.call("#{username}@#{domain}")
rescue Nokogiri::XML::XPath::SyntaxError
Rails.logger.debug "Invalid XML or missing namespace"
end end
end end

View File

@ -31,5 +31,8 @@ class FetchRemoteStatusService < BaseService
Rails.logger.debug "Going to webfinger #{username}@#{domain}" Rails.logger.debug "Going to webfinger #{username}@#{domain}"
return FollowRemoteAccountService.new.call("#{username}@#{domain}") return FollowRemoteAccountService.new.call("#{username}@#{domain}")
rescue Nokogiri::XML::XPath::SyntaxError
Rails.logger.debug "Invalid XML or missing namespace"
end
end end
end end

View File

@ -85,4 +85,6 @@ Rails.application.configure do
config.action_mailer.delivery_method = :smtp config.action_mailer.delivery_method = :smtp
config.react.variant = :production config.react.variant = :production
config.active_record.logger = nil
end end