code: func NewServiceClient(serviceName string, c *http.Client) *Client {
  	if c == nil {
  		c = DefaultHTTPClient
  	}
  
  	retrier := retry.NewErrorTypeRetrier(serviceName,
  		retry.DefaultBackOffOpts,
  		(*net.OpError)(nil),
  		(*RetryableHTTPError)(nil))
  
  	return &Client{
  		Transport: &RequestIDTransport{
  			Transport: NewRetryTransport(retrier, &Transport{Client: c}),
  		},
  	}
  }
docs: // NewServiceClient returns an httpx.Client that has the following behavior:
  //
  //      1. Request ids will be added to outgoing requests within the
  //         X-Request-Id header.
  //      2. Any 500 errors will be retried.
  //
  // The optional *http.Client parameter can be used to override the default client.