# frozen_string_literal: true module Jobs class ConfirmSnsSubscription < ::Jobs::Base sidekiq_options retry: false def execute(args) return unless raw = args[:raw].presence return unless json = args[:json].presence return unless subscribe_url = json["SubscribeURL"].presence require "aws-sdk-sns" return unless Aws::SNS::MessageVerifier.new.authentic?(raw) uri = begin URI.parse(subscribe_url) rescue URI::Error return end Net::HTTP.get(uri) end end end