![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
@nephele/adapter-nymph
Advanced tools
Nymph.js based deduping file adapter for the Nephele WebDAV server.
A Nephele adapter that uses Nymph.js and the file system to store and deduplicate files.
npm i -s @nephele/adapter-nymph
The default export is the adapter, and it's also a named export "Adapter". Instantiate this class, providing an options object, and give that to Nephele as the adapter.
import express from 'express';
import nepheleServer from 'nephele';
import NymphAdapter from '@nephele/adapter-nymph';
import ExampleAuthenticator from '@nephele/authenticator-example';
const app = express();
const port = 8080;
app.use(
'/',
nepheleServer({
adapter: new NymphAdapter({
root: '/path/to/webdav/root',
}),
authenticator: new ExampleAuthenticator(),
}),
);
app.listen(port, () => {
console.log(`Nephele WebDAV server listening on port ${port}`);
});
If you instantiate the adapter for every request, and you don't provide the Nymph instance, you will have a memory leak. If you must do this, you should disconnect Nymph on response close.
response.on('close', async () => {
await nymphAdapter.nymph.disconnect();
});
root
: The absolute path of the directory that acts as the root directory for the service.nymph
= undefined
: The instance of Nymph that will manage the data.getRootResource
= () => Promise<NymphResource & NymphResourceData>
: A function to get the root resource of the namespace.If you do not provide one, a Nymph instance will be created that uses a SQLite3 database in the file root called "nephele.db".
The default implementation will look for a collection Resource without a parent. If one isn't found, one will be created with a UUIDv4 as a name.
This does pose an issue if the user has read access to multiple root resources. The first one found will be used. If this is not acceptible, you must provide your own implementation.
When you upload a file to Nephele with this adapter, the metadata for the file (filename, directory, content-type, creation and modified dates, etc) are stored in a Nymph database. By default, that is a SQLite3 database in the root directory.
The file contents however, are stored in a temporary file during upload and the SHA-384 hash sum is calculated. Once the upload is completed, the file is moved to the blob directory and named after its hash. This process automatically deduplicates files, because the file will overwrite a previously uploaded file with the same contents. This is a non-destructive act, since both files have the same contents, so no data is lost.
When a file is deleted, the adapter will check for any other files that share the same hash (duplicate files). If none are found, only then will the actual file blob be deleted.
Copyright 2022-2024 SciActive Inc
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
1.0.0-alpha.52 (2024-09-20)
FAQs
Nymph.js based deduping file adapter for the Nephele WebDAV server.
The npm package @nephele/adapter-nymph receives a total of 5 weekly downloads. As such, @nephele/adapter-nymph popularity was classified as not popular.
We found that @nephele/adapter-nymph demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.