[build-dependencies.tonic-build]
optional = true
version = "0.14"
[dependencies.allframe-macros]
optional = true
version = "0.1.12"
[dependencies.allsource-core]
default-features = false
optional = true
version = "0.7.2"
[dependencies.async-graphql]
optional = true
version = "7.0"
[dependencies.async-graphql-parser]
optional = true
version = "7.0"
[dependencies.async-trait]
version = "0.1"
[dependencies.backoff]
features = ["tokio"]
optional = true
version = "0.4"
[dependencies.chrono]
features = ["serde"]
optional = true
version = "0.4"
[dependencies.dashmap]
optional = true
version = "6.0"
[dependencies.futures]
optional = true
version = "0.3"
[dependencies.governor]
optional = true
version = "0.6"
[dependencies.hyper]
features = ["full"]
optional = true
version = "1.8"
[dependencies.hyper-util]
features = ["tokio", "server-auto"]
optional = true
version = "0.1"
[dependencies.jsonwebtoken]
optional = true
version = "9.3"
[dependencies.moka]
features = ["future"]
optional = true
version = "0.12"
[dependencies.opentelemetry]
optional = true
version = "0.27"
[dependencies.opentelemetry-otlp]
features = ["tonic"]
optional = true
version = "0.27"
[dependencies.opentelemetry_sdk]
features = ["rt-tokio"]
optional = true
version = "0.27"
[dependencies.parking_lot]
optional = true
version = "0.12"
[dependencies.prometheus]
optional = true
version = "0.13"
[dependencies.prost]
optional = true
version = "0.14"
[dependencies.prost-types]
optional = true
version = "0.14"
[dependencies.rand]
optional = true
version = "0.8"
[dependencies.redis]
features = ["tokio-comp", "connection-manager"]
optional = true
version = "0.27"
[dependencies.reqwest]
default-features = false
features = ["json", "rustls-tls"]
optional = true
version = "0.12"
[dependencies.rustls-pemfile]
optional = true
version = "2.0"
[dependencies.serde]
features = ["derive", "derive"]
version = "1.0"
[dependencies.serde_json]
version = "1.0"
[dependencies.thiserror]
version = "2.0"
[dependencies.tokio]
features = ["full"]
version = "1.48"
[dependencies.tokio-rustls]
optional = true
version = "0.26"
[dependencies.tokio-stream]
optional = true
version = "0.1"
[dependencies.toml]
optional = true
version = "0.8"
[dependencies.tonic]
features = ["transport", "codegen"]
optional = true
version = "0.14"
[dependencies.tonic-health]
optional = true
version = "0.14"
[dependencies.tonic-reflection]
optional = true
version = "0.14"
[dependencies.tower]
optional = true
version = "0.5"
[dependencies.tracing]
optional = true
version = "0.1"
[dependencies.tracing-opentelemetry]
optional = true
version = "0.28"
[dependencies.tracing-subscriber]
features = ["env-filter", "json"]
optional = true
version = "0.3"
[dependencies.url]
optional = true
version = "2.5"
[dev-dependencies.mockall]
version = "0.13"
[dev-dependencies.proptest]
version = "1.6"
[[example]]
name = "all_features"
path = "examples/all_features.rs"
[[example]]
name = "default_features"
path = "examples/default_features.rs"
[[example]]
name = "graceful_shutdown"
path = "examples/graceful_shutdown.rs"
[[example]]
name = "graphql_docs"
path = "examples/graphql_docs.rs"
[[example]]
name = "grpc_docs"
path = "examples/grpc_docs.rs"
[[example]]
name = "minimal"
path = "examples/minimal.rs"
[[example]]
name = "protocol_agnostic"
path = "examples/protocol_agnostic.rs"
[[example]]
name = "scalar_docs"
path = "examples/scalar_docs.rs"
[[example]]
name = "shutdown_patterns"
path = "examples/shutdown_patterns.rs"
[features]
auth = []
auth-axum = ["auth", "tower", "hyper"]
auth-jwt = ["auth", "jsonwebtoken", "chrono"]
auth-tonic = ["auth", "router-grpc"]
cache-memory = ["moka", "dashmap"]
cache-redis = ["redis"]
cqrs = ["allframe-macros"]
cqrs-allsource = ["cqrs", "allsource-core"]
cqrs-postgres = ["cqrs-allsource", "allsource-core/postgres"]
cqrs-rocksdb = ["cqrs-allsource", "allsource-core/rocksdb-storage"]
default = ["di", "openapi", "router", "otel", "health"]
di = ["allframe-macros"]
grpc-tls = ["router-grpc-tls"]
health = ["hyper", "hyper-util"]
http-client = ["reqwest"]
metrics = ["prometheus"]
openapi = []
otel = ["allframe-macros", "tracing"]
otel-otlp = ["otel", "opentelemetry", "opentelemetry_sdk", "opentelemetry-otlp", "tracing-opentelemetry", "tracing-subscriber"]
rate-limit = ["governor"]
resilience = ["allframe-macros", "backoff", "governor", "dashmap", "parking_lot", "rand"]
resilience-redis = ["resilience", "redis"]
router = ["toml"]
router-full = ["router-graphql", "router-grpc"]
router-graphql = ["router", "async-graphql", "async-graphql-parser"]
router-grpc = ["router", "tonic", "tonic-reflection", "tonic-health", "prost", "prost-types", "tonic-build", "tokio-stream", "futures"]
router-grpc-tls = ["router-grpc", "tonic/tls-ring", "tonic/tls-native-roots", "rustls-pemfile", "tokio-rustls"]
security = ["allframe-macros", "url"]
utils = ["chrono", "url", "parking_lot", "rand"]
[lib]
name = "allframe_core"
path = "src/lib.rs"
[package]
authors = ["AllFrame Contributors"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["web-programming::http-server", "asynchronous"]
description = "AllFrame core - complete web framework with HTTP/2 server, REST/GraphQL/gRPC, DI, CQRS"
documentation = "https://docs.rs/allframe"
edition = "2021"
homepage = "https://all-source-os.github.io/all-frame"
keywords = ["web", "framework", "api", "tdd", "clean-architecture"]
license = "MIT OR Apache-2.0"
name = "allframe-core"
readme = "README.md"
repository = "https://github.com/all-source-os/all-frame"
rust-version = "1.86"
version = "0.1.12"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
targets = ["x86_64-unknown-linux-gnu"]