Thanks for the help! So, a copy of the pointer to the Transport used to initialize DefaultTransport would be the same, global instance of the Transport?
Does that mean that every time I instantiate a new client, I am using the same Transport? On Wednesday, October 17, 2018 at 11:35:52 AM UTC-5, Burak Serdar wrote: > > On Wed, Oct 17, 2018 at 10:30 AM Kyle Butz <kyle...@gmail.com > <javascript:>> wrote: > > > > Hi All! > > > > I'm having trouble understanding whether a new http.Client{} with no > Transport set will use a new copy of DefaultTransport, or the global? > > > > From client.go: > > > > func (c *Client) transport() RoundTripper { > > if c.Transport != nil { > > return c.Transport > > } > > return DefaultTransport > > } > > > > DefaultTransport's definition from transport.go, as a pointer to a > Transport struct: > > > > var DefaultTransport RoundTripper = &Transport{ > > Proxy: ProxyFromEnvironment, > > DialContext: (&net.Dialer{ > > Timeout: 30 * time.Second, > > KeepAlive: 30 * time.Second, > > DualStack: true, > > }).DialContext, > > MaxIdleConns: 100, > > IdleConnTimeout: 90 * time.Second, > > TLSHandshakeTimeout: 10 * time.Second, > > ExpectContinueTimeout: 1 * time.Second, > > } > > > > > > It looks like transport() is returning a RoundTripper by value. Does > that mean that "return DefaultTransport" returns a new copy of > DefaultTransport, or just a copy of a pointer to the global > DefaultTransport defined in transport.go? > > > DefaultTransport is a pointer to a Transport, so when transport() > returns DefaultTransport, it returns an interface containing a copy of > the pointer to the Transport used to initialize DefaultTransport. > > > > > Thanks for any tips! > > Kyle > > > > -- > > You received this message because you are subscribed to the Google > Groups "golang-nuts" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to golang-nuts...@googlegroups.com <javascript:>. > > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.