Quantum/Cargo.toml
RTSDA 3721e0b6e9 Implement major Caddy compatibility features with comprehensive testing
## Major Features Implemented:
-  handle_path directive for path prefix stripping
-  Multiple handlers per route execution pipeline
-  redirect handler with custom status codes
-  respond handler for custom responses (410 Gone, etc.)
-  Named matcher evaluation system
-  Compression handler framework (encode directive)
-  Enhanced route matching and fallback logic
-  APK MIME type detection for Android apps

## Core Architecture Improvements:
- Enhanced request processing pipeline
- Fixed handler chaining to process ALL handlers
- Improved configuration parsing (full Caddy format first)
- Added comprehensive matcher system
- Path manipulation and transformation logic

## Testing Infrastructure:
- Multiple test configurations for different scenarios
- Integration testing framework
- Comprehensive feature validation

## Critical Issues Discovered:
-  Compression handler import issues (placeholder only)
- ⚠️ Some advanced features need additional testing
- ⚠️ Authentication handler needs implementation

## Current Status: ~70% Caddy Compatible
- Basic routing and responses: Working 
- File serving and static content: Working 
- Path manipulation: Working 
- Redirects: Working 
- Compression: Broken  (Critical issue)

See CADDY-COMPATIBILITY-STATUS.md for detailed assessment.

**NOT PRODUCTION READY** - Requires critical fixes before deployment.
2025-08-20 10:29:33 -04:00

125 lines
2.4 KiB
TOML

[package]
name = "quantum"
version = "0.2.0"
edition = "2024"
authors = ["Quantum Contributors"]
description = "A next-generation web server written in Rust with enterprise cloud storage - the quantum leap beyond traditional reverse proxies"
license = "Apache-2.0"
homepage = "https://github.com/quantum-server/quantum"
repository = "https://github.com/quantum-server/quantum"
keywords = ["web-server", "reverse-proxy", "https", "http2", "cloud-storage"]
categories = ["web-programming::http-server", "network-programming", "filesystem"]
default-run = "quantum"
[workspace]
members = ["file-sync"]
[dependencies]
# Async runtime
tokio = { version = "1.0", features = ["full"] }
tokio-util = "0.7"
# HTTP server/client
hyper = { version = "1.0", features = ["full", "http2"] }
hyper-util = { version = "0.1", features = ["full"] }
http-body-util = "0.1"
http = "1.0"
h2 = "0.4"
h3 = "0.0.8"
h3-quinn = "0.0.10"
quinn = "0.11"
bytes = "1.0"
# TLS and certificates
rustls = "0.23"
rustls-pki-types = "1.0"
tokio-rustls = "0.26"
rustls-pemfile = "2.0"
rcgen = "0.12"
rustls-acme = "0.10"
acme-lib = "0.9"
x509-parser = "0.16"
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8"
# Authentication
bcrypt = "0.15"
base64 = "0.22"
# Logging and tracing
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
# Time handling
chrono = { version = "0.4", features = ["serde"] }
# Configuration and CLI
clap = { version = "4.0", features = ["derive"] }
# Utilities
anyhow = "1.0"
thiserror = "1.0"
uuid = { version = "1.0", features = ["v4"] }
url = "2.0"
# Metrics and monitoring
metrics = "0.22"
metrics-exporter-prometheus = "0.13"
# File watching for config reloads
notify = "6.0"
# Load balancing
rand = "0.8"
# Regular expressions
regex = "1.0"
# IP network parsing
ipnet = "2.9"
# Compression
flate2 = "1.0"
# Async traits
async-trait = "0.1"
# File sync shared crate
file-sync = { path = "file-sync" }
futures-util = "0.3.31"
async-stream = "0.3.6"
[dev-dependencies]
tempfile = "3.0"
[lib]
name = "quantum"
path = "src/lib.rs"
[[bin]]
name = "quantum"
path = "src/main.rs"
[[bin]]
name = "sync-client"
path = "src/bin/sync-client.rs"
[[bin]]
name = "realtime-sync-client"
path = "src/bin/realtime-sync-client.rs"
[[bin]]
name = "caddy-import"
path = "src/bin/caddy-import.rs"
[[bin]]
name = "test-server"
path = "src/bin/test-server.rs"
[[bin]]
name = "minimal-test"
path = "src/bin/minimal-test.rs"