1.6 KiB
1.6 KiB
RFS Client Rhai Examples
This folder contains Rhai examples that use the SAL RFS client wrappers registered by sal::rhai::register(&mut engine)
and executed by the herodo
binary.
Quick start
Run the auth + upload + download example (uses hardcoded credentials and /etc/hosts
as input):
cargo run -p herodo -- examples/rfsclient/auth_and_upload.rhai
By default, the script:
- Uses base URL
http://127.0.0.1:8080
- Uses credentials
user
/password
- Uploads the file
/etc/hosts
- Downloads to
/tmp/rfs_example_out.txt
To customize, edit examples/rfsclient/auth_and_upload.rhai
near the top and change BASE_URL
, USER
, PASS
, and file paths.
What the example does
- Creates the RFS client:
rfs_create_client(BASE_URL, USER, PASS, TIMEOUT)
- Health check:
rfs_health_check()
- Authenticates:
rfs_authenticate()
- Uploads a file:
rfs_upload_file(local_path, chunk_size, verify)
→ returns file hash - Downloads it back:
rfs_download_file(file_id_or_hash, dest_path, verify)
→ returns unit (throws on error)
See examples/rfsclient/auth_and_upload.rhai
for details.
Using the Rust client directly (optional)
If you want to use the Rust API (without Rhai), depend on sal-rfs-client
and see:
packages/clients/rfsclient/src/client.rs
(RfsClient
)packages/clients/rfsclient/src/types.rs
(config and option types)packages/clients/rfsclient/examples/
(example usage)
Troubleshooting
- Auth failures: verify credentials and that the server requires/authenticates them.
- Connection errors: verify the base URL is reachable from your machine.