From c4802f7084626618c721cade4aa18d16603efecf Mon Sep 17 00:00:00 2001 From: cjcolvar Date: Wed, 8 May 2024 09:20:37 -0400 Subject: [PATCH] Allow setting default headers in fedora.yml config --- .../initializers/active_fedora_reindexing.rb | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/config/initializers/active_fedora_reindexing.rb b/config/initializers/active_fedora_reindexing.rb index f6ef76d087..1a35688041 100644 --- a/config/initializers/active_fedora_reindexing.rb +++ b/config/initializers/active_fedora_reindexing.rb @@ -1,4 +1,24 @@ ActiveFedora::Fedora.class_eval do + def header_options + @config[:headers] + end + + def authorized_connection + options = {} + options[:ssl] = ssl_options if ssl_options + options[:request] = request_options if request_options + options[:headers] = header_options if header_options + Faraday.new(host, options) do |conn| + conn.response :encoding # use Faraday::Encoding middleware + conn.adapter Faraday.default_adapter # net/http + if Gem::Version.new(Faraday::VERSION) < Gem::Version.new('2') + conn.request :basic_auth, user, password + else + conn.request :authorization, :basic, user, password + end + end + end + def ntriples_connection authorized_connection.tap { |conn| conn.headers['Accept'] = 'application/n-triples' } end