code: func NewDatabase(opts ...Option) *Database {
  	db := &Database{
  		endpoint: "http://localhost:8529",
  		dbName:   "_system",
  		// These Transport parameters are derived from github.com/hashicorp/go-cleanhttp which is under Mozilla Public License.
  		cli: &http.Client{
  			Transport: &http.Transport{
  				DialContext: (&net.Dialer{
  					Timeout:   30 * time.Second,
  					KeepAlive: 30 * time.Second,
  				}).DialContext,
  				MaxIdleConns:          100,
  				IdleConnTimeout:       90 * time.Second,
  				TLSHandshakeTimeout:   10 * time.Second,
  				ExpectContinueTimeout: 1 * time.Second,
  				MaxIdleConnsPerHost:   runtime.GOMAXPROCS(0) + 1,
  			},
  			Timeout: 10 * time.Minute,
  		},
  		sender: &basicSender{},
  		auth:   &basicAuth{},
  	}
  
  	db.Options(opts...)
  
  	return db
  }
docs: // NewDatabase returns a new Database object.