typeway-server 0.1.0

Server runtime for the typeway type-level web framework
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
rust-version = "1.88"
name = "typeway-server"
version = "0.1.0"
authors = ["Josh Burgess"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Server runtime for the typeway type-level web framework"
homepage = "https://github.com/joshburgess/typeway"
documentation = "https://docs.rs/typeway"
readme = "README.md"
keywords = [
    "web",
    "framework",
    "type-level",
    "openapi",
    "grpc",
]
categories = [
    "web-programming",
    "web-programming::http-server",
    "asynchronous",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/joshburgess/typeway"

[features]
axum-interop = ["dep:axum"]
default = []
grpc = [
    "dep:typeway-grpc",
    "typeway-grpc/grpc-native",
]
grpc-proto-binary = [
    "grpc",
    "typeway-grpc/proto-binary",
]
multipart = ["dep:multer"]
openapi = ["dep:typeway-openapi"]
protobuf = [
    "dep:typeway-protobuf",
    "grpc",
]
tls = [
    "dep:tokio-rustls",
    "dep:rustls-pemfile",
]
ws = [
    "dep:tokio-tungstenite",
    "dep:sha1_smol",
    "dep:base64",
]

[lib]
name = "typeway_server"
path = "src/lib.rs"

[[example]]
name = "auth"
path = "examples/auth.rs"

[[example]]
name = "crud"
path = "examples/crud.rs"

[[example]]
name = "custom_extractors"
path = "examples/custom_extractors.rs"

[[example]]
name = "hello"
path = "examples/hello.rs"

[[example]]
name = "middleware"
path = "examples/middleware.rs"

[[example]]
name = "streaming"
path = "examples/streaming.rs"

[[example]]
name = "users"
path = "examples/users.rs"

[[test]]
name = "axum_interop_integration"
path = "tests/axum_interop_integration.rs"

[[test]]
name = "body_limits_integration"
path = "tests/body_limits_integration.rs"

[[test]]
name = "effects_integration"
path = "tests/effects_integration.rs"

[[test]]
name = "fuzz_tests"
path = "tests/fuzz_tests.rs"

[[test]]
name = "grpc_direct_test"
path = "tests/grpc_direct_test.rs"

[[test]]
name = "grpc_integration"
path = "tests/grpc_integration.rs"

[[test]]
name = "grpc_native_integration"
path = "tests/grpc_native_integration.rs"

[[test]]
name = "middleware_integration"
path = "tests/middleware_integration.rs"

[[test]]
name = "multi_version_integration"
path = "tests/multi_version_integration.rs"

[[test]]
name = "negotiate_integration"
path = "tests/negotiate_integration.rs"

[[test]]
name = "openapi_integration"
path = "tests/openapi_integration.rs"

[[test]]
name = "panic_safety_integration"
path = "tests/panic_safety_integration.rs"

[[test]]
name = "routing_integration"
path = "tests/routing_integration.rs"

[[test]]
name = "secure_headers_integration"
path = "tests/secure_headers_integration.rs"

[[test]]
name = "typed_wrappers_integration"
path = "tests/typed_wrappers_integration.rs"

[[test]]
name = "typed_ws_test"
path = "tests/typed_ws_test.rs"

[dependencies.axum]
version = "0.8"
optional = true

[dependencies.base64]
version = "0.22"
optional = true

[dependencies.bytes]
version = "1"

[dependencies.futures]
version = "0.3"

[dependencies.http]
version = "1"

[dependencies.http-body]
version = "1"

[dependencies.http-body-util]
version = "0.1"

[dependencies.hyper]
version = "1"
features = ["full"]

[dependencies.hyper-util]
version = "0.1"
features = [
    "tokio",
    "service",
    "http1",
    "http2",
    "server-auto",
]

[dependencies.indexmap]
version = "2"

[dependencies.matchit]
version = "0.8"

[dependencies.multer]
version = "3"
optional = true

[dependencies.parking_lot]
version = "0.12"

[dependencies.pin-project-lite]
version = "0.2"

[dependencies.rustls-pemfile]
version = "2"
optional = true

[dependencies.serde]
version = "1"
features = ["derive"]

[dependencies.serde_json]
version = "1"

[dependencies.serde_urlencoded]
version = "0.7"

[dependencies.sha1_smol]
version = "1"
optional = true

[dependencies.smallvec]
version = "1"

[dependencies.tokio]
version = "1"
features = ["full"]

[dependencies.tokio-rustls]
version = "0.26"
optional = true

[dependencies.tokio-tungstenite]
version = "0.26"
optional = true

[dependencies.tower]
version = "0.5"
features = ["util"]

[dependencies.tower-http]
version = "0.6"
features = [
    "trace",
    "cors",
    "timeout",
    "compression-gzip",
    "compression-deflate",
    "request-id",
    "propagate-header",
    "set-header",
    "fs",
]

[dependencies.tower-layer]
version = "0.3"

[dependencies.tower-service]
version = "0.3"

[dependencies.tracing]
version = "0.1"

[dependencies.typeway-core]
version = "0.1.0"

[dependencies.typeway-grpc]
version = "0.1.0"
optional = true

[dependencies.typeway-openapi]
version = "0.1.0"
optional = true

[dependencies.typeway-protobuf]
version = "0.1.0"
optional = true

[dependencies.uuid]
version = "1"
features = ["v4"]

[dev-dependencies.axum]
version = "0.8"

[dev-dependencies.proptest]
version = "1"

[dev-dependencies.reqwest]
version = "0.12"
features = ["json"]

[dev-dependencies.serde_json]
version = "1"

[dev-dependencies.tokio]
version = "1"
features = [
    "full",
    "test-util",
]

[lints.clippy]
upper_case_acronyms = "allow"