Merge branch 'main' into glitch-soc/merge-upstream
Conflicts: - `app/javascript/packs/admin.js`: Conflicts due to glitch-soc's theming system. Upstream changes have been ported to `app/javascript/core/admin.js` - `app/models/trends/statuses.rb`: Minor conflict due to glitch-soc's option to allow CWed toots in trends. Ported upstream changes.
This commit is contained in:
@@ -2,12 +2,17 @@
|
||||
|
||||
class RedisConfiguration
|
||||
class << self
|
||||
def establish_pool(new_pool_size)
|
||||
@pool&.shutdown(&:close)
|
||||
@pool = ConnectionPool.new(size: new_pool_size) { new.connection }
|
||||
end
|
||||
|
||||
def with
|
||||
pool.with { |redis| yield redis }
|
||||
end
|
||||
|
||||
def pool
|
||||
@pool ||= ConnectionPool.new(size: pool_size) { new.connection }
|
||||
@pool ||= establish_pool(pool_size)
|
||||
end
|
||||
|
||||
def pool_size
|
||||
|
||||
@@ -6,8 +6,13 @@ class Webfinger
|
||||
class RedirectError < StandardError; end
|
||||
|
||||
class Response
|
||||
def initialize(body)
|
||||
attr_reader :uri
|
||||
|
||||
def initialize(uri, body)
|
||||
@uri = uri
|
||||
@json = Oj.load(body, mode: :strict)
|
||||
|
||||
validate_response!
|
||||
end
|
||||
|
||||
def subject
|
||||
@@ -23,6 +28,10 @@ class Webfinger
|
||||
def links
|
||||
@links ||= @json['links'].index_by { |link| link['rel'] }
|
||||
end
|
||||
|
||||
def validate_response!
|
||||
raise Webfinger::Error, "Missing subject in response for #{@uri}" if subject.blank?
|
||||
end
|
||||
end
|
||||
|
||||
def initialize(uri)
|
||||
@@ -34,7 +43,7 @@ class Webfinger
|
||||
end
|
||||
|
||||
def perform
|
||||
Response.new(body_from_webfinger)
|
||||
Response.new(@uri, body_from_webfinger)
|
||||
rescue Oj::ParseError
|
||||
raise Webfinger::Error, "Invalid JSON in response for #{@uri}"
|
||||
rescue Addressable::URI::InvalidURIError
|
||||
|
||||
Reference in New Issue
Block a user