From 9cff5699cb6aa6a8058ade47df26664092a510e3 Mon Sep 17 00:00:00 2001 From: Tom Wilkie Date: Wed, 9 Dec 2015 17:44:47 +0000 Subject: [PATCH] Don't decode the certificates everytime we create an AppClient. --- xfer/probe_config.go | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/xfer/probe_config.go b/xfer/probe_config.go index 071e832c2..58c1093d4 100644 --- a/xfer/probe_config.go +++ b/xfer/probe_config.go @@ -2,6 +2,7 @@ package xfer import ( "crypto/tls" + "crypto/x509" "fmt" "io" "net" @@ -14,6 +15,16 @@ import ( // ID is currently set to the a random string on probe startup. const ScopeProbeIDHeader = "X-Scope-Probe-ID" +var certPool *x509.CertPool + +func init() { + var err error + certPool, err = gocertifi.CACerts() + if err != nil { + panic(err) + } +} + // ProbeConfig contains all the info needed for a probe to do HTTP requests type ProbeConfig struct { Token string @@ -46,10 +57,6 @@ func (pc ProbeConfig) getHTTPTransport(hostname string) (*http.Transport, error) return nil, err } - certPool, err := gocertifi.CACerts() - if err != nil { - return nil, err - } return &http.Transport{ TLSClientConfig: &tls.Config{ RootCAs: certPool,