Class: Puppet::Network::HTTP::Factory Private

Inherits:
Object
  • Object
show all
Defined in:
lib/puppet/network/http/factory.rb

Overview

This class is part of a private API. You should avoid using this class if possible, as it may be removed or be changed in the future.

Factory for Net::HTTP objects.

Encapsulates the logic for creating a Net::HTTP object based on the specified Site and puppet settings.

Constant Summary collapse

@@openssl_initialized =

This classvariable is part of a private API. You should avoid using this classvariable if possible, as it may be removed or be changed in the future.

false

Instance Method Summary collapse

Constructor Details

#initializeFactory

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Returns a new instance of Factory.



15
16
17
18
19
20
21
# File 'lib/puppet/network/http/factory.rb', line 15

def initialize
  # PUP-1411, make sure that openssl is initialized before we try to connect
  if ! @@openssl_initialized
    OpenSSL::SSL::SSLContext.new
    @@openssl_initialized = true
  end
end

Instance Method Details

#create_connection(site) ⇒ Object

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/puppet/network/http/factory.rb', line 23

def create_connection(site)
  Puppet.debug("Creating new connection for #{site}")

  args = [site.host, site.port]

  unless Puppet::Util::HttpProxy.no_proxy?(site)
    if Puppet[:http_proxy_host] == "none"
      args << nil << nil
    else
      args << Puppet[:http_proxy_host] << Puppet[:http_proxy_port]
    end
  end

  http = Net::HTTP.new(*args)
  http.use_ssl = site.use_ssl?
  http.read_timeout = Puppet[:http_read_timeout]
  http.open_timeout = Puppet[:http_connect_timeout]

  if Puppet[:http_debug]
    http.set_debug_output($stderr)
  end

  http
end