1
0
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:
Nikolay Kim
2019-12-18 09:30:14 +06:00
parent 3b860ebdc7
commit 1732ae8c79
7 changed files with 24 additions and 21 deletions

View File

@ -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`

View File

@ -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
}

View File

@ -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