MCPcopy Create free account
hub / github.com/dropbox/dbxcli / downloadSharedLinkToFile

Function downloadSharedLinkToFile

cmd/share_link_download.go:377–399  ·  view source on GitHub ↗
(dbx sharedLinkClient, arg *sharing.GetSharedLinkMetadataArg, target string, errOut io.Writer)

Source from the content-addressed store, hash-verified

375}
376
377func downloadSharedLinkToFile(dbx sharedLinkClient, arg *sharing.GetSharedLinkMetadataArg, target string, errOut io.Writer) (string, sharing.IsSharedLinkMetadata, error) {
378 var dst string
379 var downloaded sharing.IsSharedLinkMetadata
380 err := retryWithBackoff(func() error {
381 link, contents, err := dbx.GetSharedLinkFileContext(currentContext(), arg)
382 if err != nil {
383 return err
384 }
385 if contents == nil {
386 return errors.New("shared link download response did not include file content")
387 }
388 defer func() { _ = contents.Close() }()
389
390 dst, err = sharedLinkDownloadTarget(target, link)
391 if err != nil {
392 return err
393 }
394 downloaded = link
395
396 return copySharedLinkContentToFile(contents, sharedLinkDownloadSize(link), dst, errOut)
397 })
398 return dst, downloaded, err
399}
400
401func downloadSharedLinkToStdout(dbx sharedLinkClient, arg *sharing.GetSharedLinkMetadataArg, w io.Writer) error {
402 ignoreBrokenPipeSignal()

Callers 2

shareLinkDownloadFunction · 0.85
downloadSharedLinkPathFunction · 0.85

Calls 7

retryWithBackoffFunction · 0.85
currentContextFunction · 0.85
sharedLinkDownloadTargetFunction · 0.85
sharedLinkDownloadSizeFunction · 0.85
CloseMethod · 0.80

Tested by

no test coverage detected