update to 2018 edition, import in ruma style
This commit is contained in:
parent
ab6f3ce278
commit
68daaf86f6
12
Cargo.toml
12
Cargo.toml
@ -9,6 +9,7 @@ description = "`x-www-form-urlencoded` meets Serde"
|
|||||||
categories = ["encoding", "web-programming"]
|
categories = ["encoding", "web-programming"]
|
||||||
keywords = ["serde", "serialization", "urlencoded"]
|
keywords = ["serde", "serialization", "urlencoded"]
|
||||||
exclude = ["/.travis.yml", "/bors.toml"]
|
exclude = ["/.travis.yml", "/bors.toml"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
[badges]
|
[badges]
|
||||||
travis-ci = {repository = "nox/serde_urlencoded"}
|
travis-ci = {repository = "nox/serde_urlencoded"}
|
||||||
@ -17,10 +18,7 @@ travis-ci = {repository = "nox/serde_urlencoded"}
|
|||||||
test = false
|
test = false
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
dtoa = "0.4.0"
|
dtoa = "0.4.5"
|
||||||
itoa = "0.4.0"
|
itoa = "0.4.5"
|
||||||
serde = "1.0.0"
|
serde = { version = "1.0.106", features = ["derive"] }
|
||||||
url = "2.0.0"
|
url = "2.1.1"
|
||||||
|
|
||||||
[dev-dependencies]
|
|
||||||
serde_derive = "1.0"
|
|
||||||
|
14
src/de.rs
14
src/de.rs
@ -1,12 +1,8 @@
|
|||||||
//! Deserialization support for the `application/x-www-form-urlencoded` format.
|
//! Deserialization support for the `application/x-www-form-urlencoded` format.
|
||||||
|
use std::{borrow::Cow, io::Read};
|
||||||
|
|
||||||
use serde::de::value::MapDeserializer;
|
use serde::de::{self, value::MapDeserializer, Error as de_Error, IntoDeserializer};
|
||||||
use serde::de::Error as de_Error;
|
use url::form_urlencoded::{parse, Parse as UrlEncodedParse};
|
||||||
use serde::de::{self, IntoDeserializer};
|
|
||||||
use std::borrow::Cow;
|
|
||||||
use std::io::Read;
|
|
||||||
use url::form_urlencoded::parse;
|
|
||||||
use url::form_urlencoded::Parse as UrlEncodedParse;
|
|
||||||
|
|
||||||
#[doc(inline)]
|
#[doc(inline)]
|
||||||
pub use serde::de::value::Error;
|
pub use serde::de::value::Error;
|
||||||
@ -123,7 +119,7 @@ impl<'de> de::Deserializer<'de> for Deserializer<'de> {
|
|||||||
visitor.visit_unit()
|
visitor.visit_unit()
|
||||||
}
|
}
|
||||||
|
|
||||||
forward_to_deserialize_any! {
|
serde::forward_to_deserialize_any! {
|
||||||
bool
|
bool
|
||||||
u8
|
u8
|
||||||
u16
|
u16
|
||||||
@ -230,7 +226,7 @@ impl<'de> de::Deserializer<'de> for Part<'de> {
|
|||||||
visitor.visit_newtype_struct(self)
|
visitor.visit_newtype_struct(self)
|
||||||
}
|
}
|
||||||
|
|
||||||
forward_to_deserialize_any! {
|
serde::forward_to_deserialize_any! {
|
||||||
char
|
char
|
||||||
str
|
str
|
||||||
string
|
string
|
||||||
|
@ -1,13 +1,5 @@
|
|||||||
//! `x-www-form-urlencoded` meets Serde
|
//! `x-www-form-urlencoded` meets Serde
|
||||||
|
|
||||||
#![warn(unused_extern_crates)]
|
|
||||||
|
|
||||||
extern crate dtoa;
|
|
||||||
extern crate itoa;
|
|
||||||
#[macro_use]
|
|
||||||
extern crate serde;
|
|
||||||
extern crate url;
|
|
||||||
|
|
||||||
pub mod de;
|
pub mod de;
|
||||||
pub mod ser;
|
pub mod ser;
|
||||||
|
|
||||||
|
@ -1,9 +1,8 @@
|
|||||||
use ser::part::Sink;
|
use std::{borrow::Cow, ops::Deref};
|
||||||
use ser::Error;
|
|
||||||
use serde::Serialize;
|
|
||||||
use std::borrow::Cow;
|
|
||||||
use std::ops::Deref;
|
|
||||||
|
|
||||||
|
use serde::Serialize;
|
||||||
|
|
||||||
|
use crate::ser::{part::Sink, Error};
|
||||||
pub enum Key<'key> {
|
pub enum Key<'key> {
|
||||||
Static(&'static str),
|
Static(&'static str),
|
||||||
Dynamic(Cow<'key, str>),
|
Dynamic(Cow<'key, str>),
|
||||||
|
@ -5,13 +5,10 @@ mod pair;
|
|||||||
mod part;
|
mod part;
|
||||||
mod value;
|
mod value;
|
||||||
|
|
||||||
|
use std::{borrow::Cow, error, fmt, str};
|
||||||
|
|
||||||
use serde::ser;
|
use serde::ser;
|
||||||
use std::borrow::Cow;
|
use url::form_urlencoded::{Serializer as UrlEncodedSerializer, Target as UrlEncodedTarget};
|
||||||
use std::error;
|
|
||||||
use std::fmt;
|
|
||||||
use std::str;
|
|
||||||
use url::form_urlencoded::Serializer as UrlEncodedSerializer;
|
|
||||||
use url::form_urlencoded::Target as UrlEncodedTarget;
|
|
||||||
|
|
||||||
/// Serializes a value into a `application/x-www-form-urlencoded` `String` buffer.
|
/// Serializes a value into a `application/x-www-form-urlencoded` `String` buffer.
|
||||||
///
|
///
|
||||||
|
@ -1,13 +1,10 @@
|
|||||||
use ser::key::KeySink;
|
|
||||||
use ser::part::PartSerializer;
|
|
||||||
use ser::value::ValueSink;
|
|
||||||
use ser::Error;
|
|
||||||
use serde::ser;
|
use serde::ser;
|
||||||
use std::borrow::Cow;
|
use std::borrow::Cow;
|
||||||
use std::mem;
|
use std::mem;
|
||||||
use url::form_urlencoded::Serializer as UrlEncodedSerializer;
|
use url::form_urlencoded::Serializer as UrlEncodedSerializer;
|
||||||
use url::form_urlencoded::Target as UrlEncodedTarget;
|
use url::form_urlencoded::Target as UrlEncodedTarget;
|
||||||
|
|
||||||
|
use crate::ser::{Error, part::PartSerializer, key::KeySink, value::ValueSink};
|
||||||
pub struct PairSerializer<'input, 'target, Target: 'target + UrlEncodedTarget> {
|
pub struct PairSerializer<'input, 'target, Target: 'target + UrlEncodedTarget> {
|
||||||
urlencoder: &'target mut UrlEncodedSerializer<'input, Target>,
|
urlencoder: &'target mut UrlEncodedSerializer<'input, Target>,
|
||||||
state: PairState,
|
state: PairState,
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
use dtoa;
|
|
||||||
use itoa;
|
|
||||||
use ser::Error;
|
|
||||||
use serde::ser;
|
|
||||||
use std::str;
|
use std::str;
|
||||||
|
|
||||||
|
use dtoa;
|
||||||
|
use itoa;
|
||||||
|
use serde::ser;
|
||||||
|
|
||||||
|
use crate::ser::Error;
|
||||||
pub struct PartSerializer<S> {
|
pub struct PartSerializer<S> {
|
||||||
sink: S,
|
sink: S,
|
||||||
}
|
}
|
||||||
|
0
src/ser/seq.rs
Normal file
0
src/ser/seq.rs
Normal file
@ -1,9 +1,9 @@
|
|||||||
use ser::part::{PartSerializer, Sink};
|
|
||||||
use ser::Error;
|
|
||||||
use serde::ser::Serialize;
|
|
||||||
use std::str;
|
use std::str;
|
||||||
use url::form_urlencoded::Serializer as UrlEncodedSerializer;
|
|
||||||
use url::form_urlencoded::Target as UrlEncodedTarget;
|
use serde::Serialize;
|
||||||
|
use url::form_urlencoded::{Serializer as UrlEncodedSerializer, Target as UrlEncodedTarget};
|
||||||
|
|
||||||
|
use crate::ser::{part::{PartSerializer, Sink}, Error};
|
||||||
|
|
||||||
pub struct ValueSink<'input, 'key, 'target, Target>
|
pub struct ValueSink<'input, 'key, 'target, Target>
|
||||||
where
|
where
|
||||||
|
@ -1,6 +1,4 @@
|
|||||||
extern crate serde_urlencoded;
|
use serde::Deserialize;
|
||||||
#[macro_use]
|
|
||||||
extern crate serde_derive;
|
|
||||||
|
|
||||||
#[derive(Deserialize, Debug, PartialEq)]
|
#[derive(Deserialize, Debug, PartialEq)]
|
||||||
struct NewType<T>(T);
|
struct NewType<T>(T);
|
||||||
|
@ -1,10 +1,19 @@
|
|||||||
extern crate serde_urlencoded;
|
use serde::Serialize;
|
||||||
#[macro_use]
|
|
||||||
extern crate serde_derive;
|
|
||||||
|
|
||||||
#[derive(Serialize)]
|
#[derive(Serialize)]
|
||||||
struct NewType<T>(T);
|
struct NewType<T>(T);
|
||||||
|
|
||||||
|
#[derive(Serialize)]
|
||||||
|
struct NewStruct {
|
||||||
|
list: Vec<String>,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn serialize_newstruct() {
|
||||||
|
let s = NewStruct { list: vec![ "hello".into() ] };
|
||||||
|
println!("{:?}", serde_urlencoded::to_string(s));
|
||||||
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn serialize_newtype_i32() {
|
fn serialize_newtype_i32() {
|
||||||
let params = &[("field", Some(NewType(11)))];
|
let params = &[("field", Some(NewType(11)))];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user