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

KEEP_ALIVE_TIMEOUT =

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

2**31 - 1
@@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.



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

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.



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/puppet/network/http/factory.rb', line 25

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]
  http.keep_alive_timeout = KEEP_ALIVE_TIMEOUT if http.respond_to?(:keep_alive_timeout=)

  if Puppet[:sourceaddress]
    Puppet.debug("Using source IP #{Puppet[:sourceaddress]}")
    http.local_host = Puppet[:sourceaddress]
  end

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

  http
end