roa 0.5.0-beta.3

async web framework inspired by koajs, lightweight but powerful.
Documentation
[package]
name = "roa"
version = "0.5.0-beta.3"
authors = ["Hexilee <i@hexilee.me>"]
edition = "2018"
license = "MIT"
readme = "../README.md"
repository = "https://github.com/Hexilee/roa"
documentation = "https://docs.rs/roa"
homepage = "https://github.com/Hexilee/roa/wiki"
description = """
async web framework inspired by koajs, lightweight but powerful.
"""
keywords = ["http", "web", "framework", "async"]
categories = ["network-programming", "asynchronous",
              "web-programming::http-server"]

[package.metadata.docs.rs]
features = ["full"]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[badges]
codecov = { repository = "Hexilee/roa" }

[dependencies]
log = "0.4"
futures = "0.3"
async-std = "1.5.0"
bytesize = "1.0"
async-trait = "0.1.22"
url = "2.1.1"
percent-encoding = "2.1"
bytes = "0.5"
headers = "0.3.1"
quote = "=1.0.2"

roa-core = { path = "../roa-core", version = "0.5.0-beta", features = ["runtime"] }
roa-tcp = { path = "../roa-tcp", version = "0.5.0-beta", optional = true }
roa-tls = { path = "../roa-tls", version = "0.5.0-beta", optional = true }
roa-body = { path = "../roa-body", version = "0.5.0-beta", features = ["full"], optional = true }
roa-router = { path = "../roa-router", version = "0.5.0-beta", optional = true }
roa-websocket = { path = "../roa-websocket", version = "0.5.0-beta", optional = true }
cookie = { version = "0.12", features = ["percent-encode"], optional = true }
jsonwebtoken = { version = "7.1", optional = true }
serde = { version = "1", optional = true }
serde_json = { version = "1.0", optional = true }
async-compression = { version = "0.3", features = ["all-algorithms", "stream"], optional = true }
accept-encoding = { package = "accept-encoding-fork", version = "=0.2.0-alpha.3", optional = true }

[dev-dependencies]
tokio = { version = "0.2", features = ["full"] }
reqwest = { version = "0.10", features = ["json", "cookies", "gzip"] }
async-std = { version = "1.5.0", features = ["attributes"] }
pretty_env_logger = "0.3"
serde = { version = "1", features = ["derive"] }
test-case = "1.0.0"
lazy_static = "1.4.0"
slab = "0.4.2"
multimap = "0.8.0"
hyper = "0.13"
chrono = "0.4"
mime = "0.3"
encoding = "0.2"
askama = "0.9"

[features]
default = ["tcp"]
full = ["tcp", "tls", "body", "router", "jwt", "cookies", "compress", "websocket"]
tcp = ["roa-tcp"]
tls = ["roa-tls"]
cookies = ["cookie"]
jwt = ["jsonwebtoken", "serde", "serde_json"]
body = ["roa-body"]
router = ["roa-router"]
websocket = ["roa-websocket"]
compress = ["async-compression", "accept-encoding"]