(ctx context.Context, svc *docs.Service, docID string, reqs []*docs.Request)
| 290 | } |
| 291 | |
| 292 | func batchUpdateImageInsertRequests(ctx context.Context, svc *docs.Service, docID string, reqs []*docs.Request) error { |
| 293 | var lastErr error |
| 294 | for attempt := 0; ; attempt++ { |
| 295 | _, err := svc.Documents.BatchUpdate(docID, &docs.BatchUpdateDocumentRequest{ |
| 296 | Requests: reqs, |
| 297 | }).Context(ctx).Do() |
| 298 | if err == nil { |
| 299 | return nil |
| 300 | } |
| 301 | lastErr = err |
| 302 | if attempt >= len(docsImageInsertRetryDelays) || !isRetryableDocsImageInsertError(err) { |
| 303 | return lastErr |
| 304 | } |
| 305 | if err := waitDocsImageInsertRetry(ctx, docsImageInsertRetryDelays[attempt]); err != nil { |
| 306 | return err |
| 307 | } |
| 308 | } |
| 309 | } |
| 310 | |
| 311 | func waitDocsImageInsertRetry(ctx context.Context, delay time.Duration) error { |
| 312 | if delay <= 0 { |
no test coverage detected