mirror of
https://github.com/fafhrd91/actix-web
synced 2025-07-09 20:36:14 +02:00
Compare commits
2 Commits
http-test-
...
web-v3.0.1
Author | SHA1 | Date | |
---|---|---|---|
f861508789 | |||
a4546f02d2 |
3
.gitignore
vendored
3
.gitignore
vendored
@ -13,3 +13,6 @@ guide/build/
|
|||||||
|
|
||||||
# These are backup files generated by rustfmt
|
# These are backup files generated by rustfmt
|
||||||
**/*.rs.bk
|
**/*.rs.bk
|
||||||
|
|
||||||
|
# Configuration directory generated by CLion
|
||||||
|
.idea
|
||||||
|
@ -3,6 +3,13 @@
|
|||||||
## Unreleased - 2020-xx-xx
|
## Unreleased - 2020-xx-xx
|
||||||
|
|
||||||
|
|
||||||
|
## 3.0.1 - 2020-09-13
|
||||||
|
### Changed
|
||||||
|
* `middleware::normalize::TrailingSlash` enum is now accessible. [#1673]
|
||||||
|
|
||||||
|
[#1673]: https://github.com/actix/actix-web/pull/1673
|
||||||
|
|
||||||
|
|
||||||
## 3.0.0 - 2020-09-11
|
## 3.0.0 - 2020-09-11
|
||||||
* No significant changes from `3.0.0-beta.4`.
|
* No significant changes from `3.0.0-beta.4`.
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "actix-web"
|
name = "actix-web"
|
||||||
version = "3.0.0"
|
version = "3.0.1"
|
||||||
authors = ["Nikolay Kim <fafhrd91@gmail.com>"]
|
authors = ["Nikolay Kim <fafhrd91@gmail.com>"]
|
||||||
description = "Actix web is a simple, pragmatic and extremely fast web framework for Rust."
|
description = "Actix web is a powerful, pragmatic, and extremely fast web framework for Rust."
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
keywords = ["actix", "http", "web", "framework", "async"]
|
keywords = ["actix", "http", "web", "framework", "async"]
|
||||||
homepage = "https://actix.rs"
|
homepage = "https://actix.rs"
|
||||||
|
@ -1,6 +1,3 @@
|
|||||||
#![deny(rust_2018_idioms)]
|
|
||||||
#![allow(clippy::needless_doctest_main, clippy::type_complexity)]
|
|
||||||
|
|
||||||
//! Actix web is a powerful, pragmatic, and extremely fast web framework for Rust.
|
//! Actix web is a powerful, pragmatic, and extremely fast web framework for Rust.
|
||||||
//!
|
//!
|
||||||
//! ## Example
|
//! ## Example
|
||||||
@ -68,6 +65,11 @@
|
|||||||
//! * `rustls` - HTTPS support via `rustls` crate, supports `HTTP/2`
|
//! * `rustls` - HTTPS support via `rustls` crate, supports `HTTP/2`
|
||||||
//! * `secure-cookies` - secure cookies support
|
//! * `secure-cookies` - secure cookies support
|
||||||
|
|
||||||
|
#![deny(rust_2018_idioms)]
|
||||||
|
#![allow(clippy::needless_doctest_main, clippy::type_complexity)]
|
||||||
|
#![doc(html_logo_url = "https://actix.rs/img/logo.png")]
|
||||||
|
#![doc(html_favicon_url = "https://actix.rs/favicon.ico")]
|
||||||
|
|
||||||
mod app;
|
mod app;
|
||||||
mod app_service;
|
mod app_service;
|
||||||
mod config;
|
mod config;
|
||||||
|
@ -9,7 +9,7 @@ mod condition;
|
|||||||
mod defaultheaders;
|
mod defaultheaders;
|
||||||
pub mod errhandlers;
|
pub mod errhandlers;
|
||||||
mod logger;
|
mod logger;
|
||||||
mod normalize;
|
pub mod normalize;
|
||||||
|
|
||||||
pub use self::condition::Condition;
|
pub use self::condition::Condition;
|
||||||
pub use self::defaultheaders::DefaultHeaders;
|
pub use self::defaultheaders::DefaultHeaders;
|
||||||
|
@ -16,7 +16,8 @@ use futures_util::ready;
|
|||||||
use rand::{distributions::Alphanumeric, Rng};
|
use rand::{distributions::Alphanumeric, Rng};
|
||||||
|
|
||||||
use actix_web::dev::BodyEncoding;
|
use actix_web::dev::BodyEncoding;
|
||||||
use actix_web::middleware::Compress;
|
use actix_web::middleware::normalize::TrailingSlash;
|
||||||
|
use actix_web::middleware::{Compress, NormalizePath};
|
||||||
use actix_web::{dev, test, web, App, Error, HttpResponse};
|
use actix_web::{dev, test, web, App, Error, HttpResponse};
|
||||||
|
|
||||||
const STR: &str = "Hello World Hello World Hello World Hello World Hello World \
|
const STR: &str = "Hello World Hello World Hello World Hello World Hello World \
|
||||||
@ -866,6 +867,20 @@ async fn test_slow_request() {
|
|||||||
assert!(data.starts_with("HTTP/1.1 408 Request Timeout"));
|
assert!(data.starts_with("HTTP/1.1 408 Request Timeout"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[actix_rt::test]
|
||||||
|
async fn test_normalize() {
|
||||||
|
let srv = test::start_with(test::config().h1(), || {
|
||||||
|
App::new()
|
||||||
|
.wrap(NormalizePath::new(TrailingSlash::Trim))
|
||||||
|
.service(
|
||||||
|
web::resource("/one").route(web::to(|| HttpResponse::Ok().finish())),
|
||||||
|
)
|
||||||
|
});
|
||||||
|
|
||||||
|
let response = srv.get("/one/").send().await.unwrap();
|
||||||
|
assert!(response.status().is_success());
|
||||||
|
}
|
||||||
|
|
||||||
// #[cfg(feature = "openssl")]
|
// #[cfg(feature = "openssl")]
|
||||||
// #[actix_rt::test]
|
// #[actix_rt::test]
|
||||||
// async fn test_ssl_handshake_timeout() {
|
// async fn test_ssl_handshake_timeout() {
|
||||||
|
Reference in New Issue
Block a user