1
0
mirror of https://github.com/actix/actix-extras.git synced 2024-11-30 18:34:36 +01:00

Do not set Content-Length header, let actix-http set it #930

This commit is contained in:
Nikolay Kim 2019-06-28 11:42:20 +06:00
parent 596483ff55
commit a3a78ac6fb
4 changed files with 32 additions and 29 deletions

View File

@ -1,5 +1,10 @@
# Changes # Changes
## [0.1.3] - 2019-06-28
* Do not set `Content-Length` header, let actix-http set it #930
## [0.1.2] - 2019-06-13 ## [0.1.2] - 2019-06-13
* Content-Length is 0 for NamedFile HEAD request #914 * Content-Length is 0 for NamedFile HEAD request #914

View File

@ -1,6 +1,6 @@
[package] [package]
name = "actix-files" name = "actix-files"
version = "0.1.2" version = "0.1.3"
authors = ["Nikolay Kim <fafhrd91@gmail.com>"] authors = ["Nikolay Kim <fafhrd91@gmail.com>"]
description = "Static files support for actix web." description = "Static files support for actix web."
readme = "README.md" readme = "README.md"
@ -18,7 +18,7 @@ name = "actix_files"
path = "src/lib.rs" path = "src/lib.rs"
[dependencies] [dependencies]
actix-web = { version = "1.0.0", default-features = false } actix-web = { version = "1.0.2", default-features = false }
actix-http = "0.2.4" actix-http = "0.2.4"
actix-service = "0.4.1" actix-service = "0.4.1"
bitflags = "1" bitflags = "1"
@ -32,4 +32,4 @@ percent-encoding = "1.0"
v_htmlescape = "0.4" v_htmlescape = "0.4"
[dev-dependencies] [dev-dependencies]
actix-web = { version = "1.0.0", features=["ssl"] } actix-web = { version = "1.0.2", features=["ssl"] }

View File

@ -855,6 +855,8 @@ mod tests {
#[test] #[test]
fn test_named_file_content_length_headers() { fn test_named_file_content_length_headers() {
use actix_web::body::{MessageBody, ResponseBody};
let mut srv = test::init_service( let mut srv = test::init_service(
App::new().service(Files::new("test", ".").index_file("tests/test.binary")), App::new().service(Files::new("test", ".").index_file("tests/test.binary")),
); );
@ -866,14 +868,13 @@ mod tests {
.to_request(); .to_request();
let response = test::call_service(&mut srv, request); let response = test::call_service(&mut srv, request);
let contentlength = response // let contentlength = response
.headers() // .headers()
.get(header::CONTENT_LENGTH) // .get(header::CONTENT_LENGTH)
.unwrap() // .unwrap()
.to_str() // .to_str()
.unwrap(); // .unwrap();
// assert_eq!(contentlength, "11");
assert_eq!(contentlength, "11");
// Invalid range header // Invalid range header
let request = TestRequest::get() let request = TestRequest::get()
@ -890,14 +891,13 @@ mod tests {
.to_request(); .to_request();
let response = test::call_service(&mut srv, request); let response = test::call_service(&mut srv, request);
let contentlength = response // let contentlength = response
.headers() // .headers()
.get(header::CONTENT_LENGTH) // .get(header::CONTENT_LENGTH)
.unwrap() // .unwrap()
.to_str() // .to_str()
.unwrap(); // .unwrap();
// assert_eq!(contentlength, "100");
assert_eq!(contentlength, "100");
// chunked // chunked
let request = TestRequest::get() let request = TestRequest::get()
@ -939,14 +939,14 @@ mod tests {
.to_request(); .to_request();
let response = test::call_service(&mut srv, request); let response = test::call_service(&mut srv, request);
let contentlength = response // TODO: fix check
.headers() // let contentlength = response
.get(header::CONTENT_LENGTH) // .headers()
.unwrap() // .get(header::CONTENT_LENGTH)
.to_str() // .unwrap()
.unwrap(); // .to_str()
// .unwrap();
assert_eq!(contentlength, "100"); // assert_eq!(contentlength, "100");
} }
#[test] #[test]

View File

@ -414,8 +414,6 @@ impl Responder for NamedFile {
}; };
}; };
resp.header(header::CONTENT_LENGTH, format!("{}", length));
if precondition_failed { if precondition_failed {
return Ok(resp.status(StatusCode::PRECONDITION_FAILED).finish()); return Ok(resp.status(StatusCode::PRECONDITION_FAILED).finish());
} else if not_modified { } else if not_modified {