railties (>= 4.0.1)
hamster (3.0.0)
concurrent-ruby (~> 1.0)
- hashdiff (0.3.6)
+ hashdiff (0.3.7)
highline (1.7.8)
hiredis (0.6.1)
hkdf (0.3.0)
uniform_notifier (1.10.0)
warden (1.2.7)
rack (>= 1.0)
- webmock (3.0.1)
+ webmock (3.1.0)
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff
return if !target_account.ostatus? || block_notification?
- delivery = build_request.perform.flush
+ delivery = build_request.perform
raise Mastodon::UnexpectedResponseError, delivery unless delivery.code > 199 && delivery.code < 300
+
+ delivery.connection&.close
end
private
@account = account
@account.secret = SecureRandom.hex
- @response = build_request.perform.flush
+ @response = build_request.perform
if response_failed_permanently?
# We're not allowed to subscribe. Fail and move on.
# We need to retry at a later time. Fail loudly!
raise Mastodon::UnexpectedResponseError, @response
end
+ @response.connection&.close
end
private
@account = account
begin
- @response = build_request.perform.flush
+ @response = build_request.perform
Rails.logger.debug "PuSH unsubscribe for #{@account.acct} failed: #{@response.status}" unless @response.status.success?
+ @response.connection&.close
rescue HTTP::Error, OpenSSL::SSL::SSLError => e
Rails.logger.debug "PuSH unsubscribe for #{@account.acct} failed: #{e}"
end
raise Mastodon::UnexpectedResponseError, @response unless response_successful?
+ @response.connection&.close
failure_tracker.track_success!
rescue => e
failure_tracker.track_failure!
end
def perform_request
- @response = build_request.perform.flush
+ @response = build_request.perform
end
def response_successful?
raise Mastodon::UnexpectedResponseError, payload_delivery unless response_successful?
+ payload_delivery.connection&.close
subscription.touch(:last_successful_delivery_at)
end
def callback_post_payload
request = Request.new(:post, subscription.callback_url, body: payload)
request.add_headers(headers)
- request.perform.flush
+ request.perform
end
def blocked_domain?