1
0
mirror of https://github.com/fafhrd91/actix-web synced 2025-02-20 03:14:21 +01:00

make cookies optional

This commit is contained in:
Nikolay Kim 2019-03-23 10:06:54 -07:00
parent 8872f3b590
commit 535b407ac0
3 changed files with 10 additions and 7 deletions

View File

@ -34,10 +34,10 @@ members = [
] ]
[package.metadata.docs.rs] [package.metadata.docs.rs]
features = ["ssl", "tls", "rust-tls", "session"] features = ["ssl", "tls", "rust-tls", "brotli", "flate2-c", "cookies"]
[features] [features]
default = ["brotli", "flate2-c", "session"] default = ["brotli", "flate2-c", "cookies"]
# brotli encoding, requires c compiler # brotli encoding, requires c compiler
brotli = ["brotli2"] brotli = ["brotli2"]
@ -49,7 +49,7 @@ flate2-c = ["flate2/miniz-sys"]
flate2-rust = ["flate2/rust_backend"] flate2-rust = ["flate2/rust_backend"]
# sessions feature, session require "ring" crate and c compiler # sessions feature, session require "ring" crate and c compiler
session = ["cookie/secure"] cookies = ["cookie", "actix-http/cookies"]
# tls # tls
tls = ["native-tls", "actix-server/ssl"] tls = ["native-tls", "actix-server/ssl"]
@ -67,12 +67,11 @@ actix-utils = "0.3.4"
actix-router = "0.1.0" actix-router = "0.1.0"
actix-rt = "0.2.1" actix-rt = "0.2.1"
actix-web-codegen = { path="actix-web-codegen" } actix-web-codegen = { path="actix-web-codegen" }
actix-http = { git = "https://github.com/actix/actix-http.git" } actix-http = { git = "https://github.com/actix/actix-http.git", features=["fail"] }
actix-server = "0.4.1" actix-server = "0.4.1"
actix-server-config = "0.1.0" actix-server-config = "0.1.0"
bytes = "0.4" bytes = "0.4"
cookie = { version="0.11", features=["percent-encode"] }
derive_more = "0.14" derive_more = "0.14"
encoding = "0.2" encoding = "0.2"
futures = "0.1" futures = "0.1"
@ -88,8 +87,8 @@ serde_urlencoded = "^0.5.3"
time = "0.1" time = "0.1"
url = { version="1.7", features=["query_encoding"] } url = { version="1.7", features=["query_encoding"] }
# middlewares # cookies support
# actix-session = { path="session", optional = true } cookie = { version="0.11", features=["secure", "percent-encode"], optional = true }
# compression # compression
brotli2 = { version="^0.3.2", optional = true } brotli2 = { version="^0.3.2", optional = true }

View File

@ -251,12 +251,14 @@ mod tests {
} }
#[test] #[test]
#[cfg(feature = "cookies")]
fn test_no_request_cookies() { fn test_no_request_cookies() {
let req = TestRequest::default().to_http_request(); let req = TestRequest::default().to_http_request();
assert!(req.cookies().unwrap().is_empty()); assert!(req.cookies().unwrap().is_empty());
} }
#[test] #[test]
#[cfg(feature = "cookies")]
fn test_request_cookies() { fn test_request_cookies() {
let req = TestRequest::default() let req = TestRequest::default()
.header(header::COOKIE, "cookie1=value1") .header(header::COOKIE, "cookie1=value1")

View File

@ -11,6 +11,7 @@ use actix_rt::Runtime;
use actix_server_config::ServerConfig; use actix_server_config::ServerConfig;
use actix_service::{IntoNewService, NewService, Service}; use actix_service::{IntoNewService, NewService, Service};
use bytes::Bytes; use bytes::Bytes;
#[cfg(feature = "cookies")]
use cookie::Cookie; use cookie::Cookie;
use futures::future::{lazy, Future}; use futures::future::{lazy, Future};
@ -262,6 +263,7 @@ impl TestRequest {
self self
} }
#[cfg(feature = "cookies")]
/// Set cookie for this request /// Set cookie for this request
pub fn cookie(mut self, cookie: Cookie) -> Self { pub fn cookie(mut self, cookie: Cookie) -> Self {
self.req.cookie(cookie); self.req.cookie(cookie);