Browse Source

Catching more exceptions that slipped through, removing AR logging from

production as it's very verbose and not very useful
closed-social-glitch-2
Eugen Rochko 7 years ago
parent
commit
fe77921e47
7 changed files with 29 additions and 6 deletions
  1. +4
    -0
      app/controllers/api_controller.rb
  2. +6
    -0
      app/controllers/application_controller.rb
  3. +9
    -6
      app/controllers/stream_entries_controller.rb
  4. +3
    -0
      app/services/fetch_atom_service.rb
  5. +2
    -0
      app/services/fetch_remote_account_service.rb
  6. +3
    -0
      app/services/fetch_remote_status_service.rb
  7. +2
    -0
      config/environments/production.rb

+ 4
- 0
app/controllers/api_controller.rb 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

+ 6
- 0
app/controllers/application_controller.rb 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

+ 9
- 6
app/controllers/stream_entries_controller.rb 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
if @stream_entry.activity_type == 'Status'
@ancestors = @stream_entry.activity.ancestors
@descendants = @stream_entry.activity.descendants
end
respond_to do |format| respond_to do |format|
format.html
format.html do
return gone if @stream_entry.activity.nil?
if @stream_entry.activity_type == 'Status'
@ancestors = @stream_entry.activity.ancestors
@descendants = @stream_entry.activity.descendants
end
end
format.atom format.atom
end end
end end

+ 3
- 0
app/services/fetch_atom_service.rb 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

+ 2
- 0
app/services/fetch_remote_account_service.rb 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

+ 3
- 0
app/services/fetch_remote_status_service.rb 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

+ 2
- 0
config/environments/production.rb 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

Loading…
Cancel
Save