code: func WithDialContext(dialContext func(ctx context.Context, network, addr string) (net.Conn, error)) Opt {
  	return func(c *Client) error {
  		if transport, ok := c.client.Transport.(*http.Transport); ok {
  			transport.DialContext = dialContext
  			return nil
  		}
  		return errors.Errorf("cannot apply dialer to transport: %T", c.client.Transport)
  	}
  }
docs: // WithDialContext applies the dialer to the client transport. This can be
  // used to set the Timeout and KeepAlive settings of the client.