Compare commits

...

4 Commits

Author SHA1 Message Date
George Pollard 7e3bca9393
Merge 56465819d2 into bcd0ffb016 2025-08-26 09:25:27 +01:00
George Pollard 56465819d2 Update actix-web-actors 2025-08-20 11:13:48 +12:00
George Pollard 9e2e3daa88 Update CHANGES.md 2025-08-20 11:06:44 +12:00
George Pollard 3eac500591 Make 'ws' feature of actix-http optional 2025-08-20 11:03:21 +12:00
4 changed files with 10 additions and 2 deletions

View File

@ -24,7 +24,7 @@ allowed_external_types = [
actix = { version = ">=0.12, <0.14", default-features = false }
actix-codec = "0.5"
actix-http = "3"
actix-web = { version = "4", default-features = false }
actix-web = { version = "4", default-features = false, features = ["ws"] }
bytes = "1"
bytestring = "1"

View File

@ -15,6 +15,7 @@
- Ignore `Host` header in `Host` guard when connection protocol is HTTP/2.
- Re-export `mime` dependency.
- Update `brotli` dependency to `8`.
- Make `ws` feature of `actix-http` optional (controlled by `ws` feature in `actix-web`).
## 4.10.2

View File

@ -68,6 +68,7 @@ default = [
"http2",
"unicode",
"compat",
"ws",
]
# Brotli algorithm content-encoding support
@ -89,6 +90,9 @@ secure-cookies = ["cookies", "cookie/secure"]
# HTTP/2 support (including h2c).
http2 = ["actix-http/http2"]
# Websockets support
ws = ["actix-http/ws"]
# TLS via OpenSSL
openssl = ["__tls", "http2", "actix-http/openssl", "actix-tls/accept", "actix-tls/openssl"]
@ -132,7 +136,7 @@ actix-service = "2"
actix-tls = { version = "3.4", default-features = false, optional = true }
actix-utils = "3"
actix-http = { version = "3.11", features = ["ws"] }
actix-http = { version = "3.11" }
actix-router = { version = "0.5.3", default-features = false, features = ["http"] }
actix-web-codegen = { version = "4.3", optional = true, default-features = false }

View File

@ -7,6 +7,7 @@ use std::{
io::{self, Write as _},
};
#[cfg(feature = "ws")]
use actix_http::Response;
use bytes::BytesMut;
@ -126,6 +127,7 @@ impl ResponseError for actix_http::error::PayloadError {
}
}
#[cfg(feature = "ws")]
impl ResponseError for actix_http::ws::ProtocolError {}
impl ResponseError for actix_http::error::ContentTypeError {
@ -134,6 +136,7 @@ impl ResponseError for actix_http::error::ContentTypeError {
}
}
#[cfg(feature = "ws")]
impl ResponseError for actix_http::ws::HandshakeError {
fn error_response(&self) -> HttpResponse<BoxBody> {
Response::from(self).map_into_boxed_body().into()