[[bench]]
harness = false
name = "overhead"
path = "benches/overhead.rs"
[dependencies.anyhow]
version = "1.0"
[dependencies.argon2]
optional = true
version = "0.5"
[dependencies.async-stripe]
default-features = false
features = ["runtime-tokio-hyper-rustls-webpki", "checkout", "billing"]
optional = true
version = "0.41"
[dependencies.async-trait]
version = "0.1"
[dependencies.axum]
features = ["multipart", "ws"]
version = "0.8.6"
[dependencies.base64]
version = "0.22"
[dependencies.chrono]
optional = true
version = "0.4"
[dependencies.config]
version = "0.14"
[dependencies.cookie]
features = ["private"]
optional = true
version = "0.18"
[dependencies.dashmap]
optional = true
version = "6.1"
[dependencies.fastrand]
version = "2.1"
[dependencies.futures]
version = "0.3"
[dependencies.governor]
version = "0.10"
[dependencies.hex]
optional = true
version = "0.4"
[dependencies.hmac]
version = "0.12"
[dependencies.jsonwebtoken]
features = ["aws_lc_rs"]
version = "10"
[dependencies.lettre]
default-features = false
features = ["tokio1-rustls-tls", "smtp-transport", "builder"]
optional = true
version = "0.11"
[dependencies.moka]
features = ["future"]
optional = true
version = "0.12"
[dependencies.prometheus]
optional = true
version = "0.13"
[dependencies.rand]
version = "0.8"
[dependencies.redis]
features = ["tokio-comp"]
optional = true
version = "0.27"
[dependencies.reqwest]
default-features = false
features = ["json", "rustls-tls"]
version = "0.12"
[dependencies.sea-orm]
features = ["sqlx-postgres", "sqlx-sqlite", "runtime-tokio-rustls", "macros"]
optional = true
version = "1.1"
[dependencies.sea-orm-migration]
optional = true
version = "1.1"
[dependencies.secrecy]
optional = true
version = "0.10"
[dependencies.serde]
features = ["derive"]
version = "1.0.228"
[dependencies.serde_json]
version = "1.0"
[dependencies.serde_urlencoded]
version = "0.7"
[dependencies.sha1]
optional = true
version = "0.10"
[dependencies.sha2]
version = "0.10"
[dependencies.sqlx]
features = ["runtime-tokio-rustls", "postgres", "sqlite"]
optional = true
version = "0.8"
[dependencies.subtle]
version = "2.5"
[dependencies.thiserror]
version = "2.0"
[dependencies.tideway-macros]
optional = true
version = "0.1.0"
[dependencies.tokio]
features = ["full"]
version = "1.48.0"
[dependencies.totp-rs]
features = ["qr", "gen_secret"]
optional = true
version = "5.6"
[dependencies.tower]
version = "0.5"
[dependencies.tower-http]
features = ["trace", "request-id", "util", "cors", "compression-gzip", "compression-br", "timeout"]
version = "0.6.7"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
features = ["env-filter", "json"]
version = "0.3"
[dependencies.url]
version = "2.5"
[dependencies.urlencoding]
version = "2.1"
[dependencies.utoipa]
features = ["axum_extras", "chrono", "uuid"]
optional = true
version = "5.3"
[dependencies.utoipa-axum]
optional = true
version = "0.2"
[dependencies.utoipa-swagger-ui]
features = ["axum"]
optional = true
version = "9.0"
[dependencies.uuid]
features = ["v4", "serde"]
version = "1.0"
[dependencies.validator]
features = ["derive"]
optional = true
version = "0.18"
[dev-dependencies.criterion]
features = ["html_reports"]
version = "0.5"
[[example]]
name = "api_macro_example"
path = "examples/api_macro_example.rs"
[[example]]
name = "auth_flow"
path = "examples/auth_flow.rs"
[[example]]
name = "background_jobs"
path = "examples/background_jobs.rs"
[[example]]
name = "cors_example"
path = "examples/cors_example.rs"
[[example]]
name = "custom_database"
path = "examples/custom_database.rs"
[[example]]
name = "dev_mode"
path = "examples/dev_mode.rs"
[[example]]
name = "email_example"
path = "examples/email_example.rs"
required-features = ["email"]
[[example]]
name = "production_config"
path = "examples/production_config.rs"
[[example]]
name = "redis_cache"
path = "examples/redis_cache.rs"
[[example]]
name = "saas_app"
path = "examples/saas_app.rs"
[[example]]
name = "scheduled_jobs"
path = "examples/scheduled_jobs.rs"
[[example]]
name = "seaorm_auth"
path = "examples/seaorm_auth.rs"
required-features = ["database", "auth", "auth-mfa"]
[[example]]
name = "sessions_example"
path = "examples/sessions_example.rs"
[[example]]
name = "testing_example"
path = "examples/testing_example.rs"
[[example]]
name = "validation_example"
path = "examples/validation_example.rs"
[[example]]
name = "websocket_chat"
path = "examples/websocket_chat.rs"
[[example]]
name = "websocket_notifications"
path = "examples/websocket_notifications.rs"
[features]
admin = ["chrono"]
auth = ["argon2"]
auth-breach = ["sha1"]
auth-mfa = ["auth", "totp-rs"]
billing = ["hex", "secrecy", "async-stripe"]
billing-seaorm = ["billing", "database"]
cache = ["moka"]
cache-redis = ["redis", "cache"]
database = ["sea-orm", "sea-orm-migration", "chrono"]
database-sqlx = ["sqlx"]
default = ["database", "openapi", "macros"]
email = ["lettre"]
jobs = ["chrono"]
jobs-redis = ["redis", "jobs"]
macros = ["tideway-macros", "openapi"]
metrics = ["prometheus"]
openapi = ["utoipa", "utoipa-axum", "utoipa-swagger-ui"]
organizations = []
organizations-billing = ["organizations", "billing"]
organizations-seaorm = ["organizations", "database"]
sessions = ["cookie", "hex"]
test-auth-bypass = []
test-billing = []
test-organizations = ["organizations"]
validation = ["validator"]
websocket = ["dashmap"]
[lib]
name = "tideway"
path = "src/lib.rs"
[package]
authors = ["JD"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["web-programming::http-server"]
description = "A batteries-included Rust web framework built on Axum for building SaaS applications quickly"
documentation = "https://docs.rs/tideway"
edition = "2024"
keywords = ["web", "framework", "axum", "api", "async"]
license = "MIT OR Apache-2.0"
name = "tideway"
readme = "README.md"
repository = "https://github.com/jordcodes/tideway-rs"
rust-version = "1.85"
version = "0.7.5"
[[test]]
name = "app_builder_test"
path = "tests/app_builder_test.rs"
[[test]]
name = "auth_integration_test"
path = "tests/auth_integration_test.rs"
[[test]]
name = "cors_tests"
path = "tests/cors_tests.rs"
[[test]]
name = "email_test"
path = "tests/email_test.rs"
[[test]]
name = "failure_scenarios_test"
path = "tests/failure_scenarios_test.rs"
[[test]]
name = "jobs_integration_test"
path = "tests/jobs_integration_test.rs"
[[test]]
name = "metrics_integration_test"
path = "tests/metrics_integration_test.rs"