1
0
mirror of https://github.com/fafhrd91/actix-net synced 2024-11-27 18:02:58 +01:00

allow deserialize from the path

This commit is contained in:
Nikolay Kim 2019-01-15 19:25:49 -08:00
parent db2367b26e
commit cbc378b67f
3 changed files with 12 additions and 1 deletions

View File

@ -1,5 +1,8 @@
# Changes # Changes
## [0.1.6] - 2019-01-xx
## [0.1.5] - 2019-01-13 ## [0.1.5] - 2019-01-13
### Changed ### Changed

View File

@ -1,6 +1,6 @@
[package] [package]
name = "actix-service" name = "actix-service"
version = "0.1.5" version = "0.1.6"
authors = ["Nikolay Kim <fafhrd91@gmail.com>"] authors = ["Nikolay Kim <fafhrd91@gmail.com>"]
description = "Actix Service" description = "Actix Service"
keywords = ["network", "framework", "async", "futures"] keywords = ["network", "framework", "async", "futures"]

View File

@ -1,6 +1,9 @@
use std::ops::Index; use std::ops::Index;
use std::rc::Rc; use std::rc::Rc;
use serde::de;
use crate::de::PathDeserializer;
use crate::RequestPath; use crate::RequestPath;
#[derive(Debug, Clone, Copy)] #[derive(Debug, Clone, Copy)]
@ -149,6 +152,11 @@ impl<T: RequestPath> Path<T> {
params: self, params: self,
} }
} }
/// Try to deserialize matching parameters to a specified type `U`
pub fn load<'de, U: serde::Deserialize<'de>>(&'de self) -> Result<U, de::value::Error> {
de::Deserialize::deserialize(PathDeserializer::new(self))
}
} }
#[derive(Debug)] #[derive(Debug)]