[package] name = "product-os-router" version = "0.0.25" # version - The version of the package. authors = ["Jeremy de Oliveira-Kumar "] # authors - The authors of the package. edition = "2021" # edition - The Rust edition. 2021 rust-version = "1.69" # rust-version - The minimal supported Rust version. min 1.69 description = "Product OS : Router provides a fully featured router leveraging Axum and Tower with a suite of helper methods to make it easier to create an HTTP server, HTTPS server, web socket server and even server-sent events server." # description - A description of the package. # documentation = "" # documentation - URL of the package documentation. readme = "readme.md" # readme - Path to the package’s README file. Use https://www.makeareadme.com/ # homepage = "" # homepage - URL of the package homepage. # repository = "" # repository - URL of the package source repository. license = "AGPL-3.0-only" # license - The package license. # license-file = "license.txt" # license-file - Path to the text of the license. Use https://choosealicense.com/ keywords = ["product-os"] # keywords - Keywords for the package. categories = [] # categories - Categories of the package. https://crates.io/category_slugs # workspace = "" # workspace - Path to the workspace for the package. build = false # build - Path to the package build script. default "build.rs" or specify # links = "" # links - Name of the native library the package links with. exclude = [] # exclude - Files to exclude when publishing. include = [] # include - Files to include when publishing. # publish = [] # publish - Can be used to prevent publishing the package. false to prevent publish, list of registries otherwise # default-run = "" # default-run - The default binary to run by cargo run. autobins = true # autobins - Disables binary auto discovery. autoexamples = true # autoexamples - Disables example auto discovery. autotests = true # autotests - Disables test auto discovery. autobenches = true # autobenches - Disables bench auto discovery. resolver = "2" # resolver - Sets the dependency resolver to use. Use 2 with 2021, 1 prior # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] no-std-compat = { version = "0.4.1", features = [ "alloc" ], optional = false } # Core dependencies axum = { version = "0.7.3", features = ["original-uri", "ws", "json", "form", "multipart", "matched-path", "query"], default-features = false, optional = true } # Web framework using hyper and tower axum-extra = { version = "0.9.1", features = [], default-features = false, optional = true } axum-macros = { version = "0.4.0", features = [], default-features = false, optional = true } hyper = { version = "1.0.1", features = [], default-features = false, optional = true } async-trait = { version = "0.1.53", features = [], default-features = false, optional = true } futures = { version = "0.3.19", features = [], default-features = false, optional = true } futures-util = { version = "0.3.29", features = [], default-features = false, optional = false } pin-project = { version = "1.0.12", features = [], default-features = false, optional = false } tower = { version = "0.4.13", features = [], default-features = false, optional = true } tower-http = { version = "0.5.0", features = [], default-features = false, optional = true } tower-service = { version = "0.3.2", features = [], default-features = false, optional = true } tower-layer = { version = "0.3.2", features = [], default-features = false, optional = true } product-os-request = { version = ">= 0.0.1", features = [], default-features = false, optional = true } product-os-http = { version = ">= 0.0.1", features = [], default-features = false, optional = true } product-os-http-body = { version = ">= 0.0.1", features = [], default-features = false, optional = true } product-os-tower = { version = ">= 0.0.1", features = [], default-features = false, optional = true } product-os-tower-service = { version = ">= 0.0.1", features = [], default-features = false, optional = true } product-os-tower-layer = { version = ">= 0.0.1", features = [], default-features = false, optional = true } product-os-tower-http = { version = ">= 0.0.1", features = [], default-features = false, optional = true } [patch.crates-io] product-os-request = { path = "../product-os-request", features = [], default-features = false, optional = true } product-os-http = { path = "../product-os-http", features = [], default-features = false, optional = true } product-os-http-body = { path = "../product-os-http-body", features = [], default-features = false, optional = true } product-os-tower = { path = "../product-os-tower", features = [], default-features = false, optional = true } product-os-tower-service = { path = "../product-os-tower-service", features = [], default-features = false, optional = true } product-os-tower-layer = { path = "../product-os-tower-layer", features = [], default-features = false, optional = true } product-os-tower-http = { path = "../product-os-tower-http", features = [], default-features = false, optional = true } [features] default = ["no-std-compat/std", "core", "std"] all = ["default", "ws", "sse", "sessions", "cors"] core = ["product-os-request/method_std", "product-os-request/response_std", "async-trait", "product-os-http/std", "product-os-http-body/std", "tower", "tower/util", "tower/make", "tower-service", "tower-layer"] # "product-os-http", # "product-os-tower", "product-os-tower/util", "product-os-tower/make", # "product-os-tower-service", "product-os-tower-layer"] # No yet no_std "axum", "axum-extra/query" std = ["axum", "axum-extra/query"] ws = [] sse = [] sessions = ["axum-extra"] # cors = ["product-os-tower-http/cors"] cors = ["tower-http/cors"] debug = ["axum-macros"] middleware = ["product-os-http/std", "futures", "hyper", "product-os-request/method_std", "product-os-request/response_std", "product-os-http-body/std"] [workspace]