[package]
edition = "2024"
name = "sword"
version = "0.2.1"
authors = ["luciano revillod <lrevillod2022@alu.uct.cl>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Structured web framework built on top of tokio ecosystem, providing powerful features for building robust web applications."
homepage = "https://github.com/sword-web/sword"
documentation = "https://docs.rs/sword"
readme = "README.md"
keywords = [
"sword",
"web",
"framework",
"axum",
"microservices",
]
categories = [
"web-programming",
"web-programming::http-server",
]
license-file = "LICENSE"
repository = "https://github.com/sword-web/sword"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
adapter-http-controllers = []
adapter-socketio = [
"sword-macros/adapter-socketio",
"dep:socketioxide",
"dep:socketioxide-core",
"dep:socketioxide-parser-common",
"dep:socketioxide-parser-msgpack",
]
default = ["adapter-http-controllers"]
hot-reload = [
"dep:subsecond",
"dep:dioxus-devtools",
"sword-macros/hot-reload",
]
multipart = [
"axum/multipart",
"axum_responses/multipart",
]
validation-validator = ["dep:validator"]
[lib]
name = "sword"
path = "src/lib.rs"
[dependencies.axum]
version = "0.8.7"
[dependencies.axum_responses]
version = "0.5.5"
[dependencies.bytes]
version = "1.10.1"
[dependencies.console]
version = "0.15.8"
[dependencies.dioxus-devtools]
version = "0.7.2"
features = ["serve"]
optional = true
[dependencies.form_urlencoded]
version = "^1.1.0"
[dependencies.futures-lite]
version = "2.6"
[dependencies.http-body-util]
version = "0.1.3"
[dependencies.inventory]
version = "0.3.21"
[dependencies.mime]
version = "0.3.17"
[dependencies.parking_lot]
version = "0.12.5"
[dependencies.serde]
version = "1.0.219"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.140"
[dependencies.serde_urlencoded]
version = "0.7.1"
[dependencies.socketioxide]
version = "0.18.0"
features = [
"extensions",
"msgpack",
]
optional = true
[dependencies.socketioxide-core]
version = "0.17.0"
optional = true
[dependencies.socketioxide-parser-common]
version = "0.17.0"
optional = true
[dependencies.socketioxide-parser-msgpack]
version = "0.17.0"
optional = true
[dependencies.subsecond]
version = "0.7.2"
optional = true
[dependencies.sword-core]
version = "0.2.1"
[dependencies.sword-layers]
version = "0.1.6"
[dependencies.sword-macros]
version = "0.2.1"
[dependencies.thiserror]
version = "2.0.17"
[dependencies.tokio]
version = "^1.0"
features = ["full"]
[dependencies.tower]
version = "0.5.2"
[dependencies.tracing]
version = "0.1.41"
[dependencies.validator]
version = "0.20.0"
features = ["derive"]
optional = true