[package]
edition = "2021"
name = "pleme-error"
version = "0.1.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Unified error handling library for Pleme platform"
homepage = "https://github.com/pleme-io/pleme-error"
readme = "README.md"
keywords = [
"error-handling",
"errors",
"thiserror",
"graphql",
"axum",
]
categories = ["rust-patterns"]
license = "MIT"
repository = "https://github.com/pleme-io/pleme-error"
[features]
context = ["anyhow"]
database = [
"sqlx",
"redis",
]
default = []
full = [
"context",
"serialization",
"graphql",
"http-errors",
"logging",
"database",
]
graphql = [
"async-graphql",
"serialization",
]
http-errors = [
"axum",
"http",
]
logging = ["tracing"]
serialization = [
"serde",
"serde_json",
]
web = [
"graphql",
"http-errors",
"logging",
]
[lib]
name = "pleme_error"
path = "src/lib.rs"
[[example]]
name = "basic_usage"
path = "examples/basic_usage.rs"
required-features = []
[[example]]
name = "graphql_errors"
path = "examples/graphql_errors.rs"
required-features = ["graphql"]
[[example]]
name = "railway_oriented"
path = "examples/railway_oriented.rs"
required-features = ["context"]
[dependencies.anyhow]
version = "1.0"
optional = true
[dependencies.async-graphql]
version = "7.0.17"
features = [
"apollo_tracing",
"dataloader",
]
optional = true
[dependencies.axum]
version = "0.8.7"
features = [
"http1",
"http2",
"json",
"query",
"tokio",
"tower-log",
]
optional = true
[dependencies.http]
version = "1.1"
optional = true
[dependencies.redis]
version = "0.24"
features = [
"connection-manager",
"streams",
"tokio-comp",
]
optional = true
[dependencies.serde]
version = "1.0"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0"
optional = true
[dependencies.sqlx]
version = "0.8"
features = [
"chrono",
"json",
"macros",
"migrate",
"postgres",
"runtime-tokio",
"uuid",
]
optional = true
default-features = false
[dependencies.thiserror]
version = "2.0"
[dependencies.tracing]
version = "0.1"
optional = true
[dependencies.url]
version = "2.5"
[dependencies.uuid]
version = "1.11"
features = [
"serde",
"v4",
]
[dev-dependencies.rstest]
version = "0.18"
[dev-dependencies.tokio]
version = "1.41"
features = ["full"]
[dev-dependencies.tokio-test]
version = "0.4"