MCPcopy
hub / github.com/download-directory/download-directory.github.io / downloadFile

Function downloadFile

download.ts:75–104  ·  view source on GitHub ↗
({
	user,
	repository,
	reference,
	file,
	isPrivate,
	signal,
}: {
	user: string;
	repository: string;
	reference: string;
	isPrivate: boolean;
	file: TreeResponseObject | ContentsReponseObject;
	signal: AbortSignal;
})

Source from the content-addressed store, hash-verified

73}
74
75export async function downloadFile({
76 user,
77 repository,
78 reference,
79 file,
80 isPrivate,
81 signal,
82}: {
83 user: string;
84 repository: string;
85 reference: string;
86 isPrivate: boolean;
87 file: TreeResponseObject | ContentsReponseObject;
88 signal: AbortSignal;
89}) {
90 const fileRequest = {
91 user, repository, reference, file, signal,
92 };
93 const localDownload = async () =>
94 isPrivate
95 ? fetchPrivateFile(fileRequest)
96 : fetchPublicFile(fileRequest);
97 const onFailedAttempt = (error: FailedAttemptError) => {
98 console.error(
99 `Error downloading ${file.path}. Attempt ${error.attemptNumber}. ${error.retriesLeft} retries left.`,
100 );
101 };
102
103 return pRetry(localDownload, {onFailedAttempt});
104}

Callers 2

initFunction · 0.85
download.test.tsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected