[package]
name = "actix-web"
version = "1.0.8"
authors = ["Nikolay Kim <fafhrd91@gmail.com>"]
description = "Actix web is a simple, pragmatic and extremely fast web framework for Rust."
readme = "README.md"
keywords = ["actix", "http", "web", "framework", "async"]
homepage = "https://actix.rs"
repository = "https://github.com/actix/actix-web.git"
documentation = "https://docs.rs/actix-web/"
categories = ["network-programming", "asynchronous",
              "web-programming::http-server",
              "web-programming::websocket"]
license = "MIT/Apache-2.0"
exclude = [".gitignore", ".travis.yml", ".cargo/config", "appveyor.yml"]
edition = "2018"

[package.metadata.docs.rs]
features = ["ssl", "brotli", "flate2-zlib", "secure-cookies", "client", "rust-tls", "uds"]

[badges]
travis-ci = { repository = "actix/actix-web", branch = "master" }
codecov = { repository = "actix/actix-web", branch = "master", service = "github" }

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

[workspace]
members = [
  ".",
  "awc",
  "actix-http",
  "actix-cors",
  "actix-files",
  "actix-framed",
  "actix-session",
  "actix-identity",
  "actix-multipart",
  "actix-web-actors",
  "actix-web-codegen",
  "test-server",
]

[features]
default = ["brotli", "flate2-zlib", "client", "fail"]

# http client
client = ["awc"]

# brotli encoding, requires c compiler
brotli = ["actix-http/brotli"]

# miniz-sys backend for flate2 crate
flate2-zlib = ["actix-http/flate2-zlib"]

# rust backend for flate2 crate
flate2-rust = ["actix-http/flate2-rust"]

# sessions feature, session require "ring" crate and c compiler
secure-cookies = ["actix-http/secure-cookies"]

fail = ["actix-http/fail"]

# openssl
ssl = ["openssl", "actix-server/ssl", "awc/ssl"]

# rustls
rust-tls = ["rustls", "actix-server/rust-tls", "awc/rust-tls"]

# unix domain sockets support
uds = ["actix-server/uds"]

[dependencies]
actix-codec = "0.1.2"
actix-service = "0.4.1"
actix-utils = "0.4.4"
actix-router = "0.1.5"
actix-rt = "0.2.4"
actix-web-codegen = "0.1.2"
actix-http = "0.2.9"
actix-server = "0.6.1"
actix-server-config = "0.1.2"
actix-testing = "0.1.0"
actix-threadpool = "0.1.1"
awc = { version = "0.2.7", optional = true }

bytes = "0.4"
derive_more = "0.15.0"
encoding_rs = "0.8"
futures = "0.1.25"
hashbrown = "0.5.0"
log = "0.4"
mime = "0.3"
net2 = "0.2.33"
parking_lot = "0.9"
regex = "1.0"
serde = { version = "1.0", features=["derive"] }
serde_json = "1.0"
serde_urlencoded = "0.6.1"
time = "0.1.42"
url = "2.1"

# ssl support
openssl = { version="0.10", optional = true }
rustls = { version = "0.15", optional = true }

[dev-dependencies]
actix = "0.8.3"
actix-connect = "0.2.2"
actix-http-test = "0.2.4"
rand = "0.7"
env_logger = "0.6"
serde_derive = "1.0"
tokio-timer = "0.2.8"
brotli2 = "0.3.2"
flate2 = "1.0.2"

[profile.release]
lto = true
opt-level = 3
codegen-units = 1

[patch.crates-io]
actix-web = { path = "." }
actix-http = { path = "actix-http" }
actix-http-test = { path = "test-server" }
actix-web-codegen = { path = "actix-web-codegen" }
actix-web-actors = { path = "actix-web-actors" }
actix-session = { path = "actix-session" }
actix-files = { path = "actix-files" }
actix-multipart = { path = "actix-multipart" }
awc = { path = "awc" }