func searchForFilesAndUploadAndDelete()

in go-example-crash-uploader-extension/upload.go [15:46]


func searchForFilesAndUploadAndDelete(ctx context.Context, s3bucket string, rootDirectory string, substringToMatch string, creds credentials.Value) {
	filesToUpload, err := getFilesWithSubstring(rootDirectory, substringToMatch)
	if err != nil {
		res, _ := extensionClient.ExitError(ctx, err.Error())
		println(printPrefix, "ExitError response:", prettyPrint(res))
	}

	if len(filesToUpload) > 0 {
		println(printPrefix, "Found", len(filesToUpload), "files to upload")
		svc, err := createS3Client(creds)
		if err != nil {
			res, _ := extensionClient.ExitError(ctx, err.Error())
			println(printPrefix, "ExitError response:", prettyPrint(res))
		}

		count := 0
		for _, file := range filesToUpload {
			err := uploadFileToS3(svc, s3bucket, file)
			if err != nil {
				res, _ := extensionClient.ExitError(ctx, err.Error())
				println(printPrefix, "ExitError response:", prettyPrint(res))
			} else {
				count++
			}
			err = os.Remove(file)
			if err != nil {
				res, _ := extensionClient.ExitError(ctx, err.Error())
				println(printPrefix, "ExitError response:", prettyPrint(res))
			}
		}
	}
}