code: func (s *Service) HTTPDialTLS(network,
  	addr string) (net.Conn, error) {
  	if s.httpResolverFromAddr == nil {
  		return nil, errors.New("no http resolver configured")
  	}
  	r, err := s.httpResolverFromAddr(addr)
  	if err != nil {
  		return nil, err
  	}
  	// TODO(banks): figure out how to do timeouts better.
  	return s.Dial(context.Background(), r)
  }
docs: // HTTPDialTLS is compatible with http.Transport.DialTLS. It expects the addr
  // hostname to be specified using Consul DNS query syntax, e.g.
  // "web.service.consul". It converts that into the equivalent ConsulResolver and
  // then call s.Dial with the resolver. This is low level, clients should
  // typically use HTTPClient directly.