code: func NewClient(opts ...Option) *Client {
  	client := Client{
  		timeout:    defaultHTTPTimeout,
  		retryCount: defaultRetryCount,
  		retrier:    heimdall.NewNoRetrier(),
  	}
  
  	for _, opt := range opts {
  		opt(&client)
  	}
  
  	if client.client == nil {
  		client.client = &http.Client{
  			Timeout: client.timeout,
  		}
  	}
  
  	return &client
  }
docs: // NewClient returns a new instance of http Client