@nogoo9/mcp-server-cloud-fs / providers/multi / MultiProvider
Class: MultiProvider
Defined in: providers/multi.ts:30
A composite StorageProvider that routes operations to the correct sub-provider based on the root's URI scheme.
Enables a single server instance to serve multiple cloud backends simultaneously (e.g., S3 + Azure + GCS).
Example
const multi = new MultiProvider();
multi.register("s3", s3Provider);
multi.register("az", azureProvider);
// Now `multi` can be used as a single provider for VFSImplements
Constructors
Constructor
new MultiProvider():
MultiProvider
Returns
MultiProvider
Methods
copyObject()
copyObject(
root,srcKey,dstKey):Promise<void>
Defined in: providers/multi.ts:69
Parameters
root
srcKey
string
dstKey
string
Returns
Promise<void>
Implementation of
createPrefix()
createPrefix(
root,prefix):Promise<void>
Defined in: providers/multi.ts:89
Parameters
root
prefix
string
Returns
Promise<void>
Implementation of
deleteObject()
deleteObject(
root,key):Promise<void>
Defined in: providers/multi.ts:65
Parameters
root
key
string
Returns
Promise<void>
Implementation of
getObject()
getObject(
root,key,range?):Promise<Buffer<ArrayBufferLike>>
Defined in: providers/multi.ts:49
Parameters
root
key
string
range?
endByte?
number
startByte
number
Returns
Promise<Buffer<ArrayBufferLike>>
Implementation of
getObjectMetadata()
getObjectMetadata(
root,key):Promise<ObjectMetadata>
Defined in: providers/multi.ts:110
Get extended metadata and tags for an object.
Parameters
root
key
string
Returns
Promise<ObjectMetadata>
Implementation of
StorageProvider.getObjectMetadata
getObjectTags()
getObjectTags(
root,key):Promise<Record<string,string>>
Defined in: providers/multi.ts:137
Get tags for an object.
Parameters
root
key
string
Returns
Promise<Record<string, string>>
Implementation of
getPresignedUrl()
getPresignedUrl(
root,key,opts):Promise<string>
Defined in: providers/multi.ts:96
Generate a presigned URL for temporary access to an object. Not all providers support this — check before calling.
Parameters
root
key
string
opts
expiresIn
number
operation
"get" | "put"
Returns
Promise<string>
Implementation of
StorageProvider.getPresignedUrl
headObject()
headObject(
root,key):Promise<ObjectInfo>
Defined in: providers/multi.ts:77
Parameters
root
key
string
Returns
Promise<ObjectInfo>
Implementation of
listObjects()
listObjects(
root,prefix,delimiter?):Promise<ListResult>
Defined in: providers/multi.ts:81
Parameters
root
prefix
string
delimiter?
string
Returns
Promise<ListResult>
Implementation of
listObjectVersions()
listObjectVersions(
root,key):Promise<ObjectVersion[]>
Defined in: providers/multi.ts:150
List version history for an object.
Parameters
root
key
string
Returns
Promise<ObjectVersion[]>
Implementation of
StorageProvider.listObjectVersions
putObject()
putObject(
root,key,content):Promise<void>
Defined in: providers/multi.ts:57
Parameters
root
key
string
content
Buffer
Returns
Promise<void>
Implementation of
register()
register(
scheme,provider):void
Defined in: providers/multi.ts:34
Register a provider for a URI scheme.
Parameters
scheme
string
provider
Returns
void
restoreObjectVersion()
restoreObjectVersion(
root,key,versionId):Promise<void>
Defined in: providers/multi.ts:163
Restore a previous version of an object (copies it over current).
Parameters
root
key
string
versionId
string
Returns
Promise<void>
Implementation of
StorageProvider.restoreObjectVersion
setObjectTags()
setObjectTags(
root,key,tags):Promise<void>
Defined in: providers/multi.ts:123
Set tags on an object. Replaces all existing tags.
Parameters
root
key
string
tags
Record<string, string>
Returns
Promise<void>
