rskit-server 0.2.0-alpha.1

Service-facing server abstractions and lifecycle-managed transports for rskit
Documentation
[package]
name        = "rskit-server"
description = "Service-facing server abstractions and lifecycle-managed transports for rskit"
version = "0.2.0-alpha.1"
edition.workspace     = true
license.workspace     = true
rust-version.workspace = true
authors.workspace      = true
repository.workspace   = true
homepage.workspace     = true
documentation = "https://docs.rs/rskit-server"
readme = "README.md"
categories = ["network-programming"]
keywords   = ["grpc", "tonic", "server"]

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[dependencies]
# External
tonic            = { workspace = true, optional = true }
tonic-reflection = { workspace = true, optional = true }
tokio            = { workspace = true }
tokio-util       = { workspace = true }
tower            = { workspace = true, optional = true }
tracing          = { workspace = true }
async-trait      = { workspace = true }
serde            = { workspace = true }
serde_json       = { workspace = true }
validator = { workspace = true }
parking_lot      = { workspace = true }
http             = { workspace = true, optional = true }
hyper            = { workspace = true, optional = true }
hyper-util       = { workspace = true, optional = true }
base64           = { workspace = true, optional = true }
axum             = { workspace = true, optional = true }
tower-http       = { workspace = true, optional = true }
rustls           = { workspace = true, optional = true }
tokio-rustls     = { workspace = true, optional = true }

# Internal
rskit-errors = { workspace = true }
rskit-fs = { workspace = true, features = ["async"] }
rskit-bootstrap = { workspace = true }
rskit-stream = { workspace = true }
rskit-grpc = { workspace = true, optional = true }
rskit-http = { workspace = true, optional = true }
rskit-security = { workspace = true, optional = true }
rskit-validation = { workspace = true }
rskit-version = { workspace = true, optional = true }

[features]
default = ["http", "grpc"]
http = [
    "dep:axum",
    "dep:http",
    "dep:hyper",
    "dep:hyper-util",
    "dep:rskit-http",
    "dep:rskit-security",
    "dep:rskit-version",
    "dep:rustls",
    "dep:tokio-rustls",
    "dep:tower",
    "dep:tower-http",
]
grpc = [
    "dep:base64",
    "dep:http",
    "dep:tonic",
    "dep:tonic-reflection",
    "dep:rskit-grpc",
    "dep:tower",
]

[dev-dependencies]
futures          = { workspace = true }