Method: Webhookdb::Replicator::Base#verify_backfill_credentials
- Defined in:
- lib/webhookdb/replicator/base.rb
#verify_backfill_credentials ⇒ Webhookdb::CredentialVerificationResult
Try to verify backfill credentials, by fetching the first page of items. Only relevant for integrations supporting backfilling.
If an error is received, return ‘verify_backfill<http status>_err_msg` as the error message, if defined. So for example, a 401 will call the method _verify_backfill_401_err_msg if defined. If such a method is not defined, call and return _verify_backfill_err_msg.
947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 |
# File 'lib/webhookdb/replicator/base.rb', line 947 def verify_backfill_credentials backfiller = self._backfillers.first if backfiller.nil? # If for some reason we do not have a backfiller, # we can't verify credentials. This should never happen in practice, # because we wouldn't call this method if the integration doesn't support it. raise "No backfiller available for #{self.service_integration.inspect}" end begin # begin backfill attempt but do not return backfill result backfiller.fetch_backfill_page(nil, last_backfilled: nil) rescue Webhookdb::Http::Error => e msg = if self.respond_to?(:"_verify_backfill_#{e.status}_err_msg") self.send(:"_verify_backfill_#{e.status}_err_msg") else self._verify_backfill_err_msg end return CredentialVerificationResult.new(verified: false, message: msg) rescue TypeError, NoMethodError => e # if we don't incur an HTTP error, but do incur an Error due to differences in the shapes of anticipated # response data in the `fetch_backfill_page` function, we can assume that the credentials are okay self.logger.info "verify_backfill_credentials_expected_failure", error: e return CredentialVerificationResult.new(verified: true, message: "") end return CredentialVerificationResult.new(verified: true, message: "") end |