rustapi-core 0.1.2

Core library for RustAPI framework
Documentation
[package]

name = "rustapi-core"

description = "Core library for RustAPI framework"

version.workspace = true

edition.workspace = true

authors.workspace = true

license.workspace = true

repository.workspace = true

homepage.workspace = true

documentation.workspace = true



[dependencies]

# Async

tokio = { workspace = true }

futures-util = { workspace = true }

pin-project-lite = { workspace = true }



# HTTP

hyper = { workspace = true }

hyper-util = { workspace = true }

http = { workspace = true }

http-body-util = { workspace = true }

bytes = { workspace = true }



# Router

matchit = { workspace = true }



# Serialization

serde = { workspace = true }

serde_json = { workspace = true }

serde_urlencoded = "0.7"



# Middleware

tower = { workspace = true }

tower-service = { workspace = true }

tower-http = { workspace = true }



# Utilities

thiserror = { workspace = true }

tracing = { workspace = true }

tracing-subscriber = { workspace = true }

inventory = { workspace = true }

uuid = { workspace = true }

base64 = "0.22"



# Cookies (optional)

cookie = { version = "0.18", optional = true }



# Validation

rustapi-validate = { workspace = true }



# Metrics (optional)

prometheus = { workspace = true, optional = true }



# SQLx (optional)

sqlx = { version = "0.8", optional = true, default-features = false }



# OpenAPI

rustapi-openapi = { workspace = true, default-features = false }



[dev-dependencies]

tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }

proptest = "1.4"

[features]

default = ["swagger-ui"]

swagger-ui = ["rustapi-openapi/swagger-ui"]

test-utils = []

cookies = ["dep:cookie"]

sqlx = ["dep:sqlx"]

metrics = ["dep:prometheus"]