]> Cypherpunks repositories - gostls13.git/commitdiff
http: support setting Transport's TLS client config
authorBrad Fitzpatrick <bradfitz@golang.org>
Fri, 26 Aug 2011 06:06:35 +0000 (10:06 +0400)
committerBrad Fitzpatrick <bradfitz@golang.org>
Fri, 26 Aug 2011 06:06:35 +0000 (10:06 +0400)
R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/4964043

src/pkg/http/transport.go

index 4302ffab1e39f20941ebde369d01811a1e75a681..8ac78324a3824539791c7e76fa74bc95d6a43595 100644 (file)
@@ -54,6 +54,10 @@ type Transport struct {
        // If Dial is nil, net.Dial is used.
        Dial func(net, addr string) (c net.Conn, err os.Error)
 
+       // TLSClientConfig specifies the TLS configuration to use with
+       // tls.Client. If nil, the default configuration is used.
+       TLSClientConfig *tls.Config
+
        DisableKeepAlives  bool
        DisableCompression bool
 
@@ -338,7 +342,7 @@ func (t *Transport) getConn(cm *connectMethod) (*persistConn, os.Error) {
 
        if cm.targetScheme == "https" {
                // Initiate TLS and check remote host name against certificate.
-               conn = tls.Client(conn, nil)
+               conn = tls.Client(conn, t.TLSClientConfig)
                if err = conn.(*tls.Conn).Handshake(); err != nil {
                        return nil, err
                }