code: func (rt *registryRoundTripper) Do(ctx context.Context, r *http.Request,
  	v interface{}) (*http.Response, error) {
  
  	ctx, cancelFunc := context.WithTimeout(ctx, 60*time.Second)
  	r = r.WithContext(ctx)
  	defer cancelFunc()
  
  	resp, err := rt.DefaultRequestDoer.Do(ctx, r, v)
  	if err != nil {
  		if ctx.Err() == context.DeadlineExceeded {
  			err = &apitypes.Error{
  				Type: apitypes.RequestTimeoutError,
  				Err:  []string{"Request timed out"},
  			}
  		}
  
  		return nil, err
  	}
  
  	return resp, nil
  }
docs: // Augment the default Do to set a timeout.