INNER CODE UNIT · Go

r

sozercan/kubectl-ai · cmd/cli/completion.go:71

	r := retry.WithMaxRetries(maxRetries, retry.NewExponential(1*time.Second))
	if err := retry.Do(ctx, r, func(ctx context.Context) error {
		resp, err = client.openaiGptChatCompletion(ctx, &prompt, temp)

		requestErr := &openai.APIError{}
		if errors.As(err, &requestErr) {
			switch requestErr.HTTPStatusCode {
			case http.StatusTooManyRequests, http.StatusRequestTimeout, http.StatusInternalServerError, http.StatusBadGateway, http.StatusServiceUnavailable, http.StatusGatewayTimeout:
				log.Debugf("retrying due to status code %d: %s", requestErr.HTTPStatusCode, requestErr.Message)
				return retry.RetryableError(err)
			}
		}
		return nil
	}); err != nil {
		return "", err
	}

	return resp, nil

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…