about summary refs log tree commit diff
path: root/app
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2018-05-02 15:44:22 +0200
committerGitHub <noreply@github.com>2018-05-02 15:44:22 +0200
commit965345316fb3fef640a6bcc463d09d4a38b28608 (patch)
tree25e2eaaf9108ab677a53ff9d56b9410013cba38f /app
parent6c40e567aaa166eb618c316d1de2eb81b8eced9a (diff)
Guard against nil URLs in Request class (#7284)
Fix #7265
Diffstat (limited to 'app')
-rw-r--r--app/lib/request.rb3
-rw-r--r--app/services/activitypub/fetch_featured_collection_service.rb2
2 files changed, 5 insertions, 0 deletions
diff --git a/app/lib/request.rb b/app/lib/request.rb
index 0acd654da..00f94dacf 100644
--- a/app/lib/request.rb
+++ b/app/lib/request.rb
@@ -9,12 +9,15 @@ class Request
   include RoutingHelper
 
   def initialize(verb, url, **options)
+    raise ArgumentError if url.blank?
+
     @verb    = verb
     @url     = Addressable::URI.parse(url).normalize
     @options = options.merge(use_proxy? ? Rails.configuration.x.http_client_proxy : { socket_class: Socket })
     @headers = {}
 
     raise Mastodon::HostValidationError, 'Instance does not support hidden service connections' if block_hidden_service?
+
     set_common_headers!
     set_digest! if options.key?(:body)
   end
diff --git a/app/services/activitypub/fetch_featured_collection_service.rb b/app/services/activitypub/fetch_featured_collection_service.rb
index 40714e980..6a137b520 100644
--- a/app/services/activitypub/fetch_featured_collection_service.rb
+++ b/app/services/activitypub/fetch_featured_collection_service.rb
@@ -4,6 +4,8 @@ class ActivityPub::FetchFeaturedCollectionService < BaseService
   include JsonLdHelper
 
   def call(account)
+    return if account.featured_collection_url.blank?
+
     @account = account
     @json    = fetch_resource(@account.featured_collection_url, true)