simple_json_server 1.0.0

A simple way to build a JSON-based server with automatic JSON serialization/deserialization, error handling, async support, type safety, and comprehensive RustDoc generation.
Documentation
[package]
name = "simple_json_server"
version = "1.0.0"
edition = "2021"
license-file = "../LICENSE.txt"
description = "A simple way to build a JSON-based server with automatic JSON serialization/deserialization, error handling, async support, type safety, and comprehensive RustDoc generation."
docs.rs = "https://docs.rs/simple_json_server"
repository = "https://github.com/dcsturman/simple_json_server"
readme = "../README.md"
keywords = ["server", "json", "rpc", "macro", "websockets"]
categories = ["api-bindings", "concurrency"]

[dependencies]
actor_attribute_macro = { path = "../actor_attribute_macro", version = "1.0.0" }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
tokio = { version = "1.40", features = ["rt", "rt-multi-thread", "net", "io-util", "fs", "macros"] }
tokio-tungstenite = { version = "0.20", features = ["native-tls"] }
futures-util = "0.3"
hyper = { version = "1.7", features = ["full"] }
hyper-util = { version = "0.1", features = ["full"] }
hyper-rustls = "0.27"
rustls = "0.23"
rustls-pemfile = "2.0"
tokio-rustls = "0.26"
http-body-util = "0.1"
log = "0.4"

[dev-dependencies]
reqwest = { version = "0.11", features = ["json", "rustls-tls"] }
rcgen = "0.12"  # For generating self-signed certificates in tests
native-tls = "0.2"  # For TLS WebSocket client connections
env_logger = "0.10"  # For examples and tests

[[example]]
name = "calculator"
path = "examples/calculator.rs"

[[example]]
name = "server"
path = "examples/server.rs"

[[example]]
name = "doc_test"
path = "examples/doc_test.rs"

[[example]]
name = "tls_server"
path = "examples/tls_server.rs"

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(coverage,coverage_nightly)'] }