File tree Expand file tree Collapse file tree 1 file changed +9
-2
lines changed
lib/puppet/provider/apt_key Expand file tree Collapse file tree 1 file changed +9
-2
lines changed Original file line number Diff line number Diff line change 1
1
# frozen_string_literal: true
2
2
3
3
require 'open-uri'
4
- require 'net/ftp'
4
+ begin
5
+ require 'net/ftp'
6
+ rescue LoadError
7
+ # Ruby 3.0 changed net-ftp to a default gem
8
+ end
5
9
require 'tempfile'
6
10
7
11
Puppet ::Type . type ( :apt_key ) . provide ( :apt_key ) do
@@ -124,6 +128,9 @@ def source_to_file(value)
124
128
f . close
125
129
f
126
130
else
131
+ exceptions = [ OpenURI ::HTTPError ]
132
+ exceptions << Net ::FTPPermError if defined? ( Net ::FTPPermError )
133
+
127
134
begin
128
135
# Only send basic auth if URL contains userinfo
129
136
# Some webservers (e.g. Amazon S3) return code 400 if empty basic auth is sent
@@ -138,7 +145,7 @@ def source_to_file(value)
138
145
parsed_value . userinfo = ''
139
146
key = open ( parsed_value , http_basic_authentication : user_pass ) . read
140
147
end
141
- rescue OpenURI :: HTTPError , Net :: FTPPermError => e
148
+ rescue * exceptions => e
142
149
raise ( _ ( '%{_e} for %{_resource}' ) % { _e : e . message , _resource : resource [ :source ] } )
143
150
rescue SocketError
144
151
raise ( _ ( 'could not resolve %{_resource}' ) % { _resource : resource [ :source ] } )
You can’t perform that action at this time.
0 commit comments