Proxyist is a web proxy which provides an object store like interface to a catalog of items which contain objects.
This adapter provides support for the Oxford Common File Layout. It can be configured to write to a local disk or S3 backend.
See the proxyist README.md for details on how to get proxist running. Then add this adapter.
yarn add proxyist-adapter-ocfl
Here is a sample proxyist configuration for this adapter talking to a local disk backend:
import { BadIdentifierError } from '@paradisec/proxyist-adapter-common';
export default {
type: 'fs',
ocflConfig: {
root: 'tests/data-fs',
},
transformIdentifier: (identifier) => {
if (identifier.includes('/')) {
throw new BadIdentifierError('Identifer cannot contain "/"');
}
if (identifier.includes('-')) {
return identifier;
}
return `${identifier}-root`;
},
transformPath: (path) => path,
};
Here is a sample proxyist configuration for this adapter talking to an S3 backend:
import { BadIdentifier } from '@proxyist/proxyist-adapter-common';
import { S3 } from '@aws-sdk/client-s3';
const s3Config = {
region: 'ap-southeast-2',
};
const s3 = new S3(s3Config);
export default {
type: 's3',
ocflConfig: {
root: 'tests/data-s3',
},
storageConfig: {
bucketName: 'proxyist',
s3,
},
transformIdentifier: (identifier) => {
if (identifier.includes('/')) {
throw new BadIdentifierError('Identifer cannot contain "/"');
}
if (identifier.includes('-')) {
return identifier;
}
return `${identifier}-root`;
},
transformPath: (path) => path,
};
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.