Method: Puppet::HTTP::Client#connect
- Defined in:
- lib/puppet/http/client.rb
#connect(uri, options: {}, &block) ⇒ Object
Open a connection to the given URI. It is typically not necessary to call this method as the client will create connections as needed when a request is made.
137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 |
# File 'lib/puppet/http/client.rb', line 137 def connect(uri, options: {}, &block) start = Time.now verifier = nil connected = false site = Puppet::HTTP::Site.from_uri(uri) if site.use_ssl? ssl_context = .fetch(:ssl_context, nil) include_system_store = .fetch(:include_system_store, false) ctx = resolve_ssl_context(ssl_context, include_system_store) verifier = Puppet::SSL::Verifier.new(site.host, ctx) end @pool.with_connection(site, verifier) do |http| connected = true if block_given? yield http end end rescue Net::OpenTimeout => e raise_error(_("Request to %{uri} timed out connect operation after %{elapsed} seconds") % {uri: uri, elapsed: elapsed(start)}, e, connected) rescue Net::ReadTimeout => e raise_error(_("Request to %{uri} timed out read operation after %{elapsed} seconds") % {uri: uri, elapsed: elapsed(start)}, e, connected) rescue EOFError => e raise_error(_("Request to %{uri} interrupted after %{elapsed} seconds") % {uri: uri, elapsed: elapsed(start)}, e, connected) rescue Puppet::SSL::SSLError raise rescue Puppet::HTTP::HTTPError raise rescue => e raise_error(_("Request to %{uri} failed after %{elapsed} seconds: %{message}") % {uri: uri, elapsed: elapsed(start), message: e.}, e, connected) end |