[package]
name = "oasgen"
version = "0.24.1"
edition = "2021"
authors = ["Kurt Wolf <kurtwolfbuilds@gmail.com>"]
description = "Generates OpenAPI 3.0 spec based on Rust code. Works with axum, actix-web, or independent of a web framework."
license = "MIT"
repository = "https://github.com/kurtbuilds/oasgen"
homepage = "https://github.com/kurtbuilds/oasgen"
documentation = "https://docs.rs/oasgen"
readme = "../README.md"
autotests = false
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[lib]
doctest = false
[[test]]
name = "oasgen_test_no_framework"
path = "tests/test-none.rs"
[[test]]
name = "test-enum"
path = "tests/test-enum.rs"
[[test]]
name = "oasgen_test_actix"
path = "tests/test-actix.rs"
required-features = ["actix"]
[[test]]
name = "oasgen_test_axum"
path = "tests/test-axum.rs"
required-features = ["axum"]
[dependencies]
inventory = "0.3.13"
actix-web = { version = "4.3.1", optional = true }
axum = { version = "0.8.1", optional = true, default-features = false, features = [
"json",
] }
futures = "0.3.28"
http = "1.0.0"
indexmap = "2"
openapiv3-extended = { version = "6" }
oasgen-core.workspace = true
oasgen-macro.workspace = true
serde = { version = "1.0.171", features = ["derive"] }
serde_json = "1.0.100"
serde_yaml = "0.9.22"
swagger-ui2 = { workspace = true, optional = true }
tower-cookies = { version = "0.11.0", optional = true }
regex-lite = "0.1.5"
once_cell = "1.18.0"
http-body = "1.0.0"
http-body-util = "0.1.0"
[features]
actix = ["actix-web", "oasgen-core/actix"]
axum = ["oasgen-core/axum", "dep:axum"]
time = ["oasgen-core/time"]
chrono = ["oasgen-core/chrono"]
uuid = ["oasgen-core/uuid"]
sqlx = ["oasgen-core/sqlx"]
swagger-ui = ["swagger-ui2"]
json = ["oasgen-core/json"]
cookies = ["tower-cookies", "oasgen-core/cookies"]
phonenumber = ["oasgen-core/phonenumber"]
sid = ["oasgen-core/sid"]
serde_qs = ["oasgen-core/qs"]
bigdecimal = ["oasgen-core/bigdecimal"]
[dev-dependencies]
trybuild = "1.0.81"
actix-web = { version = "4.3.1" }
pretty_assertions = "1.4.0"
tokio = { version = "1.29.1", features = ["full"] }