mirror of
https://github.com/fafhrd91/actix-web
synced 2025-07-01 00:44:26 +02:00
fix Bodyencoding trait usage
This commit is contained in:
@ -6,7 +6,6 @@ use url::ParseError as UrlParseError;
|
||||
|
||||
use crate::http::StatusCode;
|
||||
use crate::HttpResponse;
|
||||
use serde_urlencoded::de;
|
||||
|
||||
/// Errors which can occur when attempting to generate resource uri.
|
||||
#[derive(Debug, PartialEq, Display, From)]
|
||||
@ -97,7 +96,7 @@ impl ResponseError for JsonPayloadError {
|
||||
pub enum PathError {
|
||||
/// Deserialize error
|
||||
#[display(fmt = "Path deserialize error: {}", _0)]
|
||||
Deserialize(de::Error),
|
||||
Deserialize(serde::de::value::Error),
|
||||
}
|
||||
|
||||
/// Return `BadRequest` for `PathError`
|
||||
@ -112,7 +111,7 @@ impl ResponseError for PathError {
|
||||
pub enum QueryPayloadError {
|
||||
/// Deserialize error
|
||||
#[display(fmt = "Query deserialize error: {}", _0)]
|
||||
Deserialize(de::Error),
|
||||
Deserialize(serde::de::value::Error),
|
||||
}
|
||||
|
||||
/// Return `BadRequest` for `QueryPayloadError`
|
||||
|
14
src/lib.rs
14
src/lib.rs
@ -166,13 +166,15 @@ pub mod dev {
|
||||
|
||||
/// Helper trait that allows to set specific encoding for response.
|
||||
pub trait BodyEncoding {
|
||||
fn encoding(&self) -> Option<ContentEncoding>;
|
||||
/// Get content encoding
|
||||
fn get_encoding(&self) -> Option<ContentEncoding>;
|
||||
|
||||
fn set_encoding(&mut self, encoding: ContentEncoding) -> &mut Self;
|
||||
/// Set content encoding
|
||||
fn encoding(&mut self, encoding: ContentEncoding) -> &mut Self;
|
||||
}
|
||||
|
||||
impl BodyEncoding for ResponseBuilder {
|
||||
fn encoding(&self) -> Option<ContentEncoding> {
|
||||
fn get_encoding(&self) -> Option<ContentEncoding> {
|
||||
if let Some(ref enc) = self.extensions().get::<Enc>() {
|
||||
Some(enc.0)
|
||||
} else {
|
||||
@ -180,14 +182,14 @@ pub mod dev {
|
||||
}
|
||||
}
|
||||
|
||||
fn set_encoding(&mut self, encoding: ContentEncoding) -> &mut Self {
|
||||
fn encoding(&mut self, encoding: ContentEncoding) -> &mut Self {
|
||||
self.extensions_mut().insert(Enc(encoding));
|
||||
self
|
||||
}
|
||||
}
|
||||
|
||||
impl<B> BodyEncoding for Response<B> {
|
||||
fn encoding(&self) -> Option<ContentEncoding> {
|
||||
fn get_encoding(&self) -> Option<ContentEncoding> {
|
||||
if let Some(ref enc) = self.extensions().get::<Enc>() {
|
||||
Some(enc.0)
|
||||
} else {
|
||||
@ -195,7 +197,7 @@ pub mod dev {
|
||||
}
|
||||
}
|
||||
|
||||
fn set_encoding(&mut self, encoding: ContentEncoding) -> &mut Self {
|
||||
fn encoding(&mut self, encoding: ContentEncoding) -> &mut Self {
|
||||
self.extensions_mut().insert(Enc(encoding));
|
||||
self
|
||||
}
|
||||
|
@ -135,7 +135,7 @@ where
|
||||
|
||||
match futures::ready!(this.fut.poll(cx)) {
|
||||
Ok(resp) => {
|
||||
let enc = if let Some(enc) = resp.response().encoding() {
|
||||
let enc = if let Some(enc) = resp.response().get_encoding() {
|
||||
enc
|
||||
} else {
|
||||
*this.encoding
|
||||
|
Reference in New Issue
Block a user