[package] name = "kra-etims-sdk" version = "0.1.0" edition = "2021" authors = ["Shadrack Matata "] description = "KRA eTims Integration SDK — Rust" license = "ISC" [lib] name = "kra_etims_sdk" path = "src/lib.rs" [[bin]] name = "kra-etims-server" path = "src/main.rs" [[example]] name = "basic_usage" path = "examples/basic_usage.rs" [[example]] name = "server_usage" path = "examples/server_usage.rs" [dependencies] # Serialization serde = { version = "1", features = ["derive"] } serde_json = "1" postcard = { version = "1", features = ["alloc"] } # Web framework (crates.io) xitca-web = { version = "0.7.1", features = [ "codegen", "params", "logger", "json", "rate-limit", "tower-http-compat", ] } xitca-server = { version = "0.5.0" } xitca-http = { version = "0.7.1", features = [ "http1", "http2", ] } # CORS via tower-http (works with xitca via tower-http-compat) tower-http = { version = "0.6.2", features = [ "add-extension", "cors", "trace", "limit", ] } # HTTP client (crates.io) reqwest = { version = "0.12", default-features = false, features = ["json", "rustls-tls"] } # Async tokio = { version = "1", features = ["full"] } # HTTP types http = "1" bytes = "1" # Env dotenvy = "0.15" # Logging tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter", "json", "fmt"] } # Errors error_set = "0.9.1" # Validation validator = { version = "0.18", features = ["derive"] } # Time chrono = { version = "0.4", features = ["serde"] } # Base64 base64 = "0.22" # Concurrency parking_lot = "0.12" [dev-dependencies] tokio = { version = "1", features = ["full", "test-util"] }