code: func NewClient(httpClient *http.Client, serverURL string) (*Client, error) {
  	if httpClient == nil {
  		httpClient = http.DefaultClient
  	}
  	baseURL, err := url.Parse(serverURL)
  	if err != nil {
  		return nil, err
  	}
  
  	c := &Client{
  		client:  httpClient,
  		baseURL: baseURL,
  		headers: make(map[string]string),
  	}
  	return c, nil
  }
docs: // NewClient returns a new client.
  //
  // httpClient will usually be nil and the client will use the http.DefaultClient.
  // Should you want to implement behaviours at the transport level you can provide
  // your own *http.Client
  //
  // serverURL is the full URL to your eventstore server including protocol scheme and
  // port number.