52 lines
2.1 KiB
Rust
52 lines
2.1 KiB
Rust
mod crypto;
|
|
mod hashing;
|
|
mod metadata;
|
|
mod sigv4;
|
|
mod storage;
|
|
mod streaming;
|
|
mod validation;
|
|
|
|
use pyo3::prelude::*;
|
|
|
|
#[pymodule]
|
|
mod myfsio_core {
|
|
use super::*;
|
|
|
|
#[pymodule_init]
|
|
fn init(m: &Bound<'_, PyModule>) -> PyResult<()> {
|
|
m.add_function(wrap_pyfunction!(sigv4::verify_sigv4_signature, m)?)?;
|
|
m.add_function(wrap_pyfunction!(sigv4::derive_signing_key, m)?)?;
|
|
m.add_function(wrap_pyfunction!(sigv4::compute_signature, m)?)?;
|
|
m.add_function(wrap_pyfunction!(sigv4::build_string_to_sign, m)?)?;
|
|
m.add_function(wrap_pyfunction!(sigv4::constant_time_compare, m)?)?;
|
|
m.add_function(wrap_pyfunction!(sigv4::clear_signing_key_cache, m)?)?;
|
|
|
|
m.add_function(wrap_pyfunction!(hashing::md5_file, m)?)?;
|
|
m.add_function(wrap_pyfunction!(hashing::md5_bytes, m)?)?;
|
|
m.add_function(wrap_pyfunction!(hashing::sha256_file, m)?)?;
|
|
m.add_function(wrap_pyfunction!(hashing::sha256_bytes, m)?)?;
|
|
m.add_function(wrap_pyfunction!(hashing::md5_sha256_file, m)?)?;
|
|
|
|
m.add_function(wrap_pyfunction!(validation::validate_object_key, m)?)?;
|
|
m.add_function(wrap_pyfunction!(validation::validate_bucket_name, m)?)?;
|
|
|
|
m.add_function(wrap_pyfunction!(metadata::read_index_entry, m)?)?;
|
|
|
|
m.add_function(wrap_pyfunction!(storage::write_index_entry, m)?)?;
|
|
m.add_function(wrap_pyfunction!(storage::delete_index_entry, m)?)?;
|
|
m.add_function(wrap_pyfunction!(storage::check_bucket_contents, m)?)?;
|
|
m.add_function(wrap_pyfunction!(storage::shallow_scan, m)?)?;
|
|
m.add_function(wrap_pyfunction!(storage::bucket_stats_scan, m)?)?;
|
|
m.add_function(wrap_pyfunction!(storage::search_objects_scan, m)?)?;
|
|
m.add_function(wrap_pyfunction!(storage::build_object_cache, m)?)?;
|
|
|
|
m.add_function(wrap_pyfunction!(streaming::stream_to_file_with_md5, m)?)?;
|
|
m.add_function(wrap_pyfunction!(streaming::assemble_parts_with_md5, m)?)?;
|
|
|
|
m.add_function(wrap_pyfunction!(crypto::encrypt_stream_chunked, m)?)?;
|
|
m.add_function(wrap_pyfunction!(crypto::decrypt_stream_chunked, m)?)?;
|
|
|
|
Ok(())
|
|
}
|
|
}
|