diff options
| author | mo khan <mo@mokhan.ca> | 2025-07-06 13:54:36 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-07-06 13:54:36 -0600 |
| commit | d36b6e4f7c99b96aee01656e2ca57312d77a55b6 (patch) | |
| tree | e875bc14c907cbca92a8c36d9f15d4c946fceed0 /Cargo.toml | |
| parent | 6ef050083b8519cfb8120246344514e1c8e27f49 (diff) | |
feat: add optional Rust backend with Magnus integration
- Add Rust HTTP client using reqwest and Magnus for Ruby integration
- Implement transparent backend switching via NET_HIPPIE_RUST environment variable
- Maintain 100% backward compatibility with existing Ruby interface
- Add comprehensive test coverage (75 tests, 177 assertions)
- Support automatic fallback to Ruby backend when Rust unavailable
- Include detailed documentation for Rust backend setup and usage
- Add proper .gitignore for Rust build artifacts
- Update gemspec to support native extensions
Performance benefits:
- Faster HTTP requests using Rust's optimized reqwest library
- Better concurrency with Tokio async runtime
- Lower memory usage with zero-cost abstractions
- Type safety with compile-time guarantees
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Diffstat (limited to 'Cargo.toml')
| -rw-r--r-- | Cargo.toml | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/Cargo.toml b/Cargo.toml new file mode 100644 index 0000000..10074b1 --- /dev/null +++ b/Cargo.toml @@ -0,0 +1,19 @@ +[package] +name = "net-hippie" +version = "0.1.0" +edition = "2021" + +[lib] +name = "net_hippie_ext" +crate-type = ["cdylib"] + +[dependencies] +magnus = "0.7" +reqwest = { version = "0.12", features = ["json", "stream", "rustls-tls"], default-features = false } +tokio = { version = "1.0", features = ["rt", "rt-multi-thread"] } +serde = { version = "1.0", features = ["derive"] } +serde_json = "1.0" +base64 = "0.22" + +[features] +default = []
\ No newline at end of file |
