1
0
mirror of https://github.com/actix/actix-extras.git synced 2025-06-26 10:27:42 +02:00

Update dependencies (Tokio 1.0) (#144)

This commit is contained in:
Andrey Kutejko
2021-03-21 23:50:26 +01:00
committed by GitHub
parent 86ff1302ad
commit ca85f6b245
34 changed files with 429 additions and 503 deletions

View File

@ -1,6 +1,7 @@
# Changes
## Unreleased - 2020-xx-xx
* Minimum supported Rust version (MSRV) is now 1.46.0.
## 0.6.0 - 2020-09-11

View File

@ -19,11 +19,11 @@ name = "actix_protobuf"
path = "src/lib.rs"
[dependencies]
actix-web = { version = "3.0.0", default_features = false }
actix-rt = "1.1.1"
actix-web = { version = "4.0.0-beta.4", default_features = false }
actix-rt = "2"
futures-util = { version = "0.3.5", default-features = false }
derive_more = "0.99"
prost = "0.6.0"
prost = "0.7"
[dev-dependencies]
prost-derive = "0.6.0"
prost-derive = "0.7"

View File

@ -8,9 +8,9 @@ authors = [
]
[dependencies]
actix-web = "3.0.0"
actix-web = "4.0.0-beta.4"
actix-protobuf = { path = "../../" }
env_logger = "0.7"
prost = "0.6.0"
prost-derive = "0.6.0"
env_logger = "0.8"
prost = "0.7"
prost-derive = "0.7"

View File

@ -17,7 +17,7 @@ use actix_web::error::{Error, PayloadError, ResponseError};
use actix_web::http::header::{CONTENT_LENGTH, CONTENT_TYPE};
use actix_web::web::BytesMut;
use actix_web::{FromRequest, HttpMessage, HttpRequest, HttpResponse, Responder};
use futures_util::future::{ready, FutureExt, LocalBoxFuture, Ready};
use futures_util::future::{FutureExt, LocalBoxFuture};
use futures_util::StreamExt;
#[derive(Debug, Display)]
@ -137,21 +137,16 @@ where
}
impl<T: Message + Default> Responder for ProtoBuf<T> {
type Error = Error;
type Future = Ready<Result<HttpResponse, Error>>;
fn respond_to(self, _: &HttpRequest) -> Self::Future {
fn respond_to(self, _: &HttpRequest) -> HttpResponse {
let mut buf = Vec::new();
ready(
self.0
.encode(&mut buf)
.map_err(|e| Error::from(ProtoBufPayloadError::Serialize(e)))
.map(|()| {
HttpResponse::Ok()
.content_type("application/protobuf")
.body(buf)
}),
)
match self.0.encode(&mut buf) {
Ok(()) => HttpResponse::Ok()
.content_type("application/protobuf")
.body(buf),
Err(err) => HttpResponse::from_error(Error::from(
ProtoBufPayloadError::Serialize(err),
)),
}
}
}
@ -255,7 +250,7 @@ pub trait ProtoBufResponseBuilder {
impl ProtoBufResponseBuilder for HttpResponseBuilder {
fn protobuf<T: Message>(&mut self, value: T) -> Result<HttpResponse, Error> {
self.header(CONTENT_TYPE, "application/protobuf");
self.append_header((CONTENT_TYPE, "application/protobuf"));
let mut body = Vec::new();
value
@ -313,16 +308,16 @@ mod tests {
let protobuf = ProtoBufMessage::<MyObject>::new(&req, &mut pl).await;
assert_eq!(protobuf.err().unwrap(), ProtoBufPayloadError::ContentType);
let (req, mut pl) =
TestRequest::with_header(header::CONTENT_TYPE, "application/text")
.to_http_parts();
let (req, mut pl) = TestRequest::get()
.append_header((header::CONTENT_TYPE, "application/text"))
.to_http_parts();
let protobuf = ProtoBufMessage::<MyObject>::new(&req, &mut pl).await;
assert_eq!(protobuf.err().unwrap(), ProtoBufPayloadError::ContentType);
let (req, mut pl) =
TestRequest::with_header(header::CONTENT_TYPE, "application/protobuf")
.header(header::CONTENT_LENGTH, "10000")
.to_http_parts();
let (req, mut pl) = TestRequest::get()
.append_header((header::CONTENT_TYPE, "application/protobuf"))
.append_header((header::CONTENT_LENGTH, "10000"))
.to_http_parts();
let protobuf = ProtoBufMessage::<MyObject>::new(&req, &mut pl)
.limit(100)
.await;